Перейти к основному содержимому

robots.txt для архивиста

Файл https://сайт/robots.txt говорит автоматическим программам, какие адреса владелец просит не обходить. Это техническое соглашение RFC 9309, а не статья закона. Для Ruarxive соблюдение файла — правило по умолчанию. Позиция проекта, включая редкие исключения для исчезающих общественно значимых сайтов, записана в условиях использования сервисов. Исключение из robots.txt не разрешает обход капчи, входа и других технических ограничений.

Как выглядит файл​

User-agent: *
Disallow: /search
Allow: /search/help
Sitemap: https://example.com/sitemap.xml

User-agent: SomeBot
Disallow: /

Группа начинается со строки User-agent. Правило Disallow: /search просит не заходить на пути с этим префиксом. Allow отменяет запрет для более точного пути, когда оба правила подходят. Пустой Disallow: ничего не запрещает. Disallow: / просит не обходить сайт этой программой вообще.

Sitemap: указывает файл карты сайта. Это подсказка, а не разрешение обходить адреса, которые в других строках запрещены.

Имя * в User-agent относится к программам, для которых нет отдельной группы. Если для вашего краулера группа есть, используются её правила, а не блок *.

Чего в стандарте нет​

Crawl-delay в RFC 9309 не входит. Это расширение, которое часть краулеров читает, а часть игнорирует. Паузу между запросами надёжнее задать самому инструменту. У Wget это --wait и --random-wait, у Browsertrix — число воркеров и лимиты обхода. Как выбирать темп — в стратегиях сбора.

Строки, которые программа не понимает, она пропускает. Ошибка в одной строке не отменяет остальные правила группы.

Прочитать файл до обхода​

curl -fsSL https://example.com/robots.txt

Дальше сверьте стартовые адреса сбора с Disallow. Если нужный раздел запрещён, сначала ищите другой законный путь: открытый API, карту сайта для разрешённых адресов, выгрузку владельца, уже существующий архив.

При рекурсивной загрузке Wget соблюдает robots.txt по умолчанию (robots = on). Отключение — флаг -e robots=off. На странице Wget он описан как решение под ответственность того, кто запускает сбор. Для заданий Ruarxive этот флаг не является обычным режимом.

Что проверить в журнале​

После пробного прогона на 5–10 страницах посмотрите, не упёрся ли краулер в запрет:

  • в журнале Wget строки Robot.txt и пропущенные URL;
  • в WARC неожиданно мало HTML при большом числе отказов;
  • код ответа 403 может быть и запретом robots.txt, и антибот-защитой. Второе разобрано отдельно: граница с антибот-защитой.

Запишите в карточку сбора, читался ли файл и какое решение принято. Это пригодится, когда через год кто-то спросит, почему раздела в архиве нет.

Связанные материалы​