robots.txt для веб-скрейпинга: что он регулирует, а что нет
robots.txt — это соглашение, а не контракт и не замок. Вот что он на самом деле требует от скрейпера, что он не может обеспечить и как его уважать, при этом получая данные.
Каждый разговор об этике скрейпинга начинается с robots.txt, и большинство из них ошибаются в одном из двух направлений — рассматривают его как закон, за нарушение которого вас арестуют, или как шум, который можно полностью игнорировать. Это ни то, ни другое. robots.txt — это добровольное соглашение, которое сообщает хорошо себя ведущим ботам, какие пути сайт предпочел бы оставить в покое. Знание того, что именно он регулирует и что нет, отличает профессиональную работу с данными от безрассудной. Это руководство для практиков, и заметка заранее: это информативно, а не юридическая консультация.
Что такое robots.txt на самом деле
robots.txt реализует Протокол Исключения Роботов, стандартизированный в 2022 году как RFC 9309. Это текстовый файл, который находится в корне домена - https://example.com/robots.txt - один файл на домен или поддомен. Он необязателен: 404 просто означает, что у сайта нет файла и он не выразил предпочтений. Важно, что это просьба, а не барьер. Ничто в предоставлении robots.txt технически не препятствует доступу; он полагается на добросовестность ботов, которые его читают.
Чтение его — это один запрос — делайте это перед тем, как что-либо сканировать, каждый раз:
# Just read it
curl -s https://example.com/robots.txt
# Through a proxy, as your scraper would see it
curl -s -x http://USER:PASS@gate.quantumproxies.io:8000 https://example.com/robots.txt
Директивы, которые имеют значение
Словарь небольшой. Изучите их, и вы сможете читать любой robots.txt с первого взгляда:
User-agent- какой бот предназначен для следующих правил.*означает каждый бот; имя, такое какGooglebot, нацелено на один. Имена директив нечувствительны к регистру, но значения путей чувствительны:/Private/не равно/private/.Disallow- префикс пути, который не следует сканировать.Disallow: /admin/блокирует эту папку и все, что под ней.Disallow: /блокирует весь сайт; пустойDisallow:разрешает все.Allow- нестандартное, но повсеместно признанное переопределение, которое повторно разрешает путь внутри запрещенного.Crawl-delay- нестандартный намек, просящий N секунд между запросами. Уважайте его: игнорирование его - один из самых быстрых способов быть заблокированным.Request-rateиVisit-time- редкие директивы, которые ограничивают количество запросов за интервал или ограничивают сканирование определенными часами UTC.Sitemap- абсолютный URL к XML-карте сайта. Не ограничение, а подарок: он отображает структуру сайта для вас.
Одна оговорка по синтаксису: подстановочные знаки * и $ в шаблонах путей не входят в оригинальный стандарт, но все основные движки их признают, поэтому Disallow: /*.pdf$ является распространенным и эффективным на практике.
import urllib.robotparser as rp
# Parse robots.txt and check a URL for your user agent
robots = rp.RobotFileParser()
robots.set_url("https://example.com/robots.txt")
robots.read()
UA = "MyResearchBot/1.0"
print(robots.can_fetch(UA, "https://example.com/products")) # True / False
print(robots.crawl_delay(UA)) # seconds, or None

Что он регулирует - и что нет
Это та часть, которую людям больше всего нужно прояснить. robots.txt сам по себе не является юридически обязательным и не является техническим механизмом контроля доступа - он ничего не блокирует. Суды, как правило, рассматривают хорошо известные публичные данные как публичные. Но 'не закон сам по себе' не означает 'без последствий'. Игнорирование заявленных пожеланий сайта может стать фактором в аргументах о нарушении условий обслуживания, вторжении или злоупотреблении компьютером, это приглашает блокировки и дополнительное внимание, и это просто плохое гражданство. Прагматичная позиция: относитесь к robots.txt как к этическому минимуму, который вы уважаете, и рассматривайте реальные юридические вопросы - личные данные, контракты, юрисдикцию - как отдельный вопрос, который нужно решить правильно. Наш обзор законности веб-скрейпинга в 2026 году охватывает их отдельно.
Сдвиг AI-сканеров
robots.txt приобрел вторую жизнь как канал отказа для обучения AI. Сайты теперь добавляют явные правила для AI-пользовательских агентов - GPTBot, Google-Extended, CCBot, ClaudeBot, PerplexityBot и других - чтобы сказать 'индексируй меня, но не обучайся на мне'. Именно поэтому исследователи теперь утверждают, что robots.txt больше недостаточно сам по себе, чтобы удержать публичные данные вне моделей: это полностью зависит от каждого сканера, выбирающего подчиняться, и он говорит только с заявленными, хорошо себя ведущими агентами. Если вы управляете сканером, честно заявляйте User-Agent и уважайте эти отказы - это базовый уровень. Появляющийся сопутствующий файл для противоположного намерения - приглашение AI-инструментов - это llms.txt, который мы рассматриваем в нашем руководстве по llms.txt.
# A modern robots.txt often carries AI-specific opt-outs:
# User-agent: GPTBot
# Disallow: /
#
# User-agent: Google-Extended
# Disallow: /
#
# User-agent: *
# Crawl-delay: 5
# Sitemap: https://example.com/sitemap.xml

Быть добропорядочным гражданином, при этом получая данные
Уважение к robots.txt и сбор необходимых вам публичных данных не противоречат друг другу. Дисциплины, которые делают вас желанным, те же, что и те, которые держат вас незаблокированным: соблюдайте Crawl-delay и темп ваших запросов, честно идентифицируйте ваш бот, агрессивно кэшируйте, чтобы никогда не запрашивать одну и ту же страницу повторно, и избегайте дорогих конечных точек, которые сайт пытается защитить. Норма сообщества, хорошо изложенная на форумах, заключается в том, что robots.txt существует в основном для того, чтобы отговорить ботов, создающих сокрушительный трафик - так что не будьте таким ботом. Наше руководство по вежливому скрейпингу превращает это в конкретные правила темпа.
Для команд, которые хотят, чтобы соблюдение было обеспечено по умолчанию, Scraper API может читать и уважать robots.txt как часть запроса, наряду с разумным ограничением скорости - так что добропорядочность является стандартным поведением инструмента, а не галочкой, которую вы можете забыть. Он также сохраняет чистый, заявленный след, а не грубый скрипт, бьющий с одного IP.
Собирайте публичные данные соответствующим образом
Часто задаваемые вопросы
Применяется ли robots.txt юридически к веб-скрейпингу?
Сам по себе нет. robots.txt — это добровольное соглашение (RFC 9309), а не закон или контракт, и он технически не блокирует доступ. Но игнорирование его может подпитывать претензии о нарушении условий обслуживания, вторжении или злоупотреблении компьютером и приглашает блокировки и внимание. Рассматривайте его как этический минимум, который нужно уважать, и решайте реальные юридические вопросы - личные данные, контракты - отдельно. Это не юридическая консультация.
Как прочитать robots.txt сайта?
Отправьте HTTP GET на корень домена с добавлением /robots.txt, например, https://example.com/robots.txt. curl или любой HTTP клиент подойдет; в Python urllib.robotparser анализирует его и отвечает can_fetch() для данного user agent и URL. 404 означает, что у сайта нет robots.txt и он не заявил предпочтений сканирования.
Что означает Disallow: /?
Он просит всех соответствующих ботов не сканировать ни один путь на сайте - весь домен закрыт по просьбе. Пустой Disallow: означает противоположное: все разрешено. Помните, что это просьбы к хорошо себя ведущим сканерам, а не принудительные барьеры, и что значения путей чувствительны к регистру, а имена директив - нет.
Могу ли я игнорировать robots.txt, если данные публичные?
Технически вы можете, так как он не принудителен, но обычно не следует. Игнорирование его - плохое гражданство, вас быстрее заблокируют, и это может усилить аргумент сайта против вас в споре. Профессиональный подход - уважать его, сканировать только разрешенные публичные пути, темпировать ваши запросы и полностью исключать личные данные.
robots.txt - это небольшой файл, который несет большой сигнал: вот как этот сайт хочет, чтобы его сканировали. Сначала прочитайте его, уважайте пути и темп, заявите, кто вы, и вы сможете собрать необходимые вам публичные данные, оставаясь на правильной стороне как этикета, так и риска.