# robots.txt для веб-скрейпинга: что он регулирует, а что нет

robots.txt — это соглашение, а не контракт и не замок. Вот что он на самом деле требует от скрейпера, что он не может обеспечить и как его уважать, при этом получая данные.

Каждый разговор об этике скрейпинга начинается с **robots.txt**, и большинство из них ошибаются в одном из двух направлений — рассматривают его как закон, за нарушение которого вас арестуют, или как шум, который можно полностью игнорировать. Это ни то, ни другое. robots.txt — это добровольное соглашение, которое сообщает хорошо себя ведущим ботам, какие пути сайт предпочел бы оставить в покое. Знание того, что именно он регулирует и что нет, отличает профессиональную работу с данными от безрассудной. Это руководство для практиков, и заметка заранее: это информативно, а не юридическая консультация.

## Что такое robots.txt на самом деле

robots.txt реализует Протокол Исключения Роботов, стандартизированный в 2022 году как RFC 9309. Это текстовый файл, который находится в корне домена - `https://example.com/robots.txt` - один файл на домен или поддомен. Он необязателен: `404` просто означает, что у сайта нет файла и он не выразил предпочтений. Важно, что это просьба, а не барьер. Ничто в предоставлении robots.txt технически не препятствует доступу; он полагается на добросовестность ботов, которые его читают.

Чтение его — это один запрос — делайте это перед тем, как что-либо сканировать, каждый раз:

```bash
# 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@residentialpremium.quantumproxies.io:8080 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$` является распространенным и эффективным на практике.

```python
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: чем он является (добровольное соглашение, стандартизированное как RFC 9309, и сигнал о скорости, который стоит уважать) и чем не является (замок, блокирующий доступ, или контракт, который обязывает сам по себе); карточка отмечает соглашение и Crawl-delay как реальные и вычеркивает юридическую силу и контроль доступа.](https://res.cloudinary.com/dmqliab0t/image/upload/f_auto,q_auto,w_1200/v1785335202/blog/generated/qp-b9-072-diag1.png)
*robots.txt - это сигнал, который нужно уважать, а не замок, который вас останавливает, или контракт, который связывает вас сам по себе.*

## Что он регулирует - и что нет

Это та часть, которую людям больше всего нужно прояснить. robots.txt сам по себе не является юридически обязательным и не является техническим механизмом контроля доступа - он ничего не блокирует. Суды, как правило, рассматривают хорошо известные публичные данные как публичные. Но 'не закон сам по себе' не означает 'без последствий'. Игнорирование заявленных пожеланий сайта может стать фактором в аргументах о нарушении условий обслуживания, вторжении или злоупотреблении компьютером, это приглашает блокировки и дополнительное внимание, и это просто плохое гражданство. Прагматичная позиция: относитесь к robots.txt как к этическому минимуму, который вы уважаете, и рассматривайте реальные юридические вопросы - личные данные, контракты, юрисдикцию - как отдельный вопрос, который нужно решить правильно. Наш обзор [законности веб-скрейпинга в 2026 году](https://quantumproxies.io/blog/is-web-scraping-legal-2026) охватывает их отдельно.

## Сдвиг AI-сканеров

robots.txt приобрел вторую жизнь как канал отказа для обучения AI. Сайты теперь добавляют явные правила для AI-пользовательских агентов - `GPTBot`, `Google-Extended`, `CCBot`, `ClaudeBot`, `PerplexityBot` и других - чтобы сказать 'индексируй меня, но не обучайся на мне'. Именно поэтому исследователи теперь утверждают, что robots.txt больше недостаточно сам по себе, чтобы удержать публичные данные вне моделей: это полностью зависит от каждого сканера, выбирающего подчиняться, и он говорит только с заявленными, хорошо себя ведущими агентами. Если вы управляете сканером, честно заявляйте User-Agent и уважайте эти отказы - это базовый уровень. Появляющийся сопутствующий файл для противоположного намерения - приглашение AI-инструментов - это llms.txt, который мы рассматриваем в нашем [руководстве по llms.txt](https://quantumproxies.io/blog/llms-txt-guide-ai-crawlers).

```bash
# 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, сопоставить заявленный User-agent, соблюдать Crawl-delay между запросами и собирать только разрешенные публичные пути; карточка показывает, что отвечает robotparser в Python: can_fetch для пути, crawl_delay в секундах, а 404 означает отсутствие заявленных предпочтений.](https://res.cloudinary.com/dmqliab0t/image/upload/f_auto,q_auto,w_1200/v1785335202/blog/generated/qp-b9-072-diag2.png)
*Соответствующее сканирование сначала читает файл, соблюдает директивы скорости и касается только разрешенных публичных путей.*

## Быть добропорядочным гражданином, при этом получая данные

Уважение к robots.txt и сбор необходимых вам публичных данных не противоречат друг другу. Дисциплины, которые делают вас желанным, те же, что и те, которые держат вас незаблокированным: соблюдайте `Crawl-delay` и темп ваших запросов, честно идентифицируйте ваш бот, агрессивно кэшируйте, чтобы никогда не запрашивать одну и ту же страницу повторно, и избегайте дорогих конечных точек, которые сайт пытается защитить. Норма сообщества, хорошо изложенная на форумах, заключается в том, что robots.txt существует в основном для того, чтобы отговорить ботов, создающих сокрушительный трафик - так что не будьте таким ботом. Наше [руководство по вежливому скрейпингу](https://quantumproxies.io/blog/polite-scraping-rate-limiting-guide) превращает это в конкретные правила темпа.

Для команд, которые хотят, чтобы соблюдение было обеспечено по умолчанию, [Scraper API](https://quantumproxies.io/scraper-api) может читать и уважать robots.txt как часть запроса, наряду с разумным ограничением скорости - так что добропорядочность является стандартным поведением инструмента, а не галочкой, которую вы можете забыть. Он также сохраняет чистый, заявленный след, а не грубый скрипт, бьющий с одного IP.

[Собирайте публичные данные соответствующим образом](https://quantumproxies.io/scraper-api)

## Часто задаваемые вопросы

### Применяется ли 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 - это небольшой файл, который несет большой сигнал: вот как этот сайт хочет, чтобы его сканировали. Сначала прочитайте его, уважайте пути и темп, заявите, кто вы, и вы сможете собрать необходимые вам публичные данные, оставаясь на правильной стороне как этикета, так и риска.

[Попробуйте Scraper API с учетом robots-aware сканирования](https://quantumproxies.io/scraper-api)
