Создать URL
Генератор Правила транслитерации Как сделать ЧПУ Блог Вопросы и ответы Создать URL
Практика

Сравнение выгрузок краулера между запусками

Научим сравнивать два обхода и видеть, что появилось, что исчезло и что сломалось.

Почему важны изменения

В выгрузке тысячи строк, и почти все они в порядке. Проблемы обнаруживаются по изменениям: появились сотни новых адресов, пропал раздел, у страниц сменился код ответа. Сравнение двух обходов сразу выводит на такие события. Аналогичный метод для переездов описан в статье про сравнение до и после переезда; здесь — регулярный вариант.

Что означают изменения между обходами
ИзменениеЧто может означатьРеакция
Новые адреса в большом числеНовые страницы или технические дублиПроверить шаблон и параметры
Пропавшие адресаУдаление, ошибка навигации, сбой обходаСверить с намерением
Изменился код ответаОшибка выкладки, перенаправлениеПроверить причины
Изменился заголовок или H1Правка контента или шаблонаПроверить массовые изменения
Страница стала неиндексируемойПоявился запрет, canonical на другой адресСрочная проверка
Изменилась глубинаИзменилась навигацияОценить влияние на структуру

Скрипт сравнения

import csv

def load(path):
    with open(path, newline="", encoding="utf-8") as f:
        return {r["url"]: r for r in csv.DictReader(f)}

old = load("crawl_prev.csv")
new = load("crawl_now.csv")

added = sorted(set(new) - set(old))
removed = sorted(set(old) - set(new))
changed = [u for u in old.keys() & new.keys()
           if old[u]["status"] != new[u]["status"]]

print("added", len(added))
print("removed", len(removed))
print("status changed", len(changed))
for u in changed[:20]:
    print(u, old[u]["status"], "->", new[u]["status"])

Скрипт сравнивает два файла и печатает число добавленных и пропавших адресов и адреса с изменившимся кодом ответа. Аналогично сравниваются заголовки, канонические адреса и признак индексируемости. Названия столбцов зависят от краулера.

Хранение снимков

Обходпо расписаниюСохранитьснимокс датойСравнитьс прошлымЗаписатьитоги
Обходпо расписаниюСохранитьснимокс датойСравнитьс прошлымЗаписатьитоги
Как вести историю обходов
  • Называйте файлы датой обхода: crawl_2026-09-20.csv.
  • Храните снимки не меньше года: по ним видно, когда появилась проблема.
  • Всегда сравнивайте одинаковые настройки обхода: иначе различия будут ложными: настройки сканирования.

Как отсечь шум

  1. Исключите из сравнения адреса, которые меняются постоянно: календари, ленты новостей, случайные параметры.
  2. Задайте порог: оповещение, если изменение затронуло более заданной доли страниц.
  3. Группируйте изменения по шаблонам и разделам: один шаблон — одна причина.
  4. Запишите объяснение каждого крупного изменения: через полгода это пригодится.

Связанные материалы. Выбор и настройка краулера — в статьях обзор краулеров и сканирование большого сайта. Мониторинг дублей на основе таких сравнений — в статье мониторинг появления дублей.

Пример разбора изменений

В понедельник сравнение показывает: добавилось три тысячи новых адресов, пропало сорок, у двухсот страниц изменился код ответа. Три тысячи новых адресов группируются по шаблону: все с параметром сортировки. Значит, после релиза ссылки на сортировку стали обычными ссылками, и их нужно закрыть. Сорок пропавших — товары, снятые с продажи, что ожидаемо. Двести страниц с изменившимся кодом — перенаправления на новые адреса категорий, которые запланировали заранее. Из трёх событий срочной оказалась только первая, и найти её помогло сравнение.

Частые вопросы

Зачем сравнивать обходы, если можно смотреть один?

Проблемы чаще видны по изменениям: новые массовые адреса, пропавшие разделы, смена кодов ответа; сравнение выводит на них сразу.

Что нужно для корректного сравнения?

Одинаковые настройки обхода и сохранённые снимки с датой; при разных настройках различия будут ложными.

Как не утонуть в шуме изменений?

Исключить постоянно меняющиеся адреса, задать порог оповещения и группировать изменения по шаблонам и разделам.

Готовый адрес можно собрать прямо сейчас: откройте генератор ЧПУ — он транслитерирует фразу по таблице Яндекса, уберёт служебные слова и покажет длину адреса.

Читайте также