Очистка семантического ядра на основе выдачи

Очистка семантического ядра на основе выдачи

Иван Зимин

Полная инструкция - https://t.me/heymoneymaker/1558

Экспорт данных выполняется в формате XLSX в программе KeyAssort

В общих настройках не забудьте добавить галочку с экспортом данных выдачи

Для работы с данными - копируем из экселя данные запросов и урлов в input.txt, меняя знак табуляции на ;

Код скрипта:

def calculate_points(urls, competitors):
  points = 0
  for url in urls:
    for competitor in competitors:
      if competitor in url:
        points += 1
  return points

def process_file(input_file, competitors):
  with open(input_file, 'r', encoding='utf-8') as infile:
    # Чтение строк из файла
    lines = infile.readlines()

  # Обработка строк
  result_lines = ["Запрос;URL1;URL2;URL3;URL4;URL5;URL6;URL7;URL8;URL9;URL10;Баллы\n"]
  for line in lines:
    # Разделение строки на запрос и список URL
    parts = line.strip().split(';')
    query = parts[0]
    urls = parts[1:]

    # Подсчет баллов
    points = calculate_points(urls, competitors)

    # Добавление баллов в конец строки
    result_line = f"{line.strip()};{points}\n"
    result_lines.append(result_line)

  # Запись результата в новый файл с кодировкой Windows-1251
  with open('finish.csv', 'w', encoding='windows-1251') as outfile:
    outfile.writelines(result_lines)

if __name__ == "__main__":
  # Список конкурентов (заполнить по аналогии)
  competitors = ["site1.ru", "site2.ru", "site3.ru", "site4.ru"]

  # Имя входного файла
  input_file = "input.txt"

  # Обработка файла и запись результата в finish.csv
  process_file(input_file, competitors)

  print("Скрипт успешно выполнен. Результат сохранен в finish.csv.")


Report Page