robotparser.md
1> **Источник:** https://python-all.ru/2.7/library/robotparser.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 13.3. [`robotparser`](https://python-all.ru/2.7/library/robotparser.html#module-robotparser) – Парсер для robots.txt89> **Примечание**10>11> Модуль [`robotparser`](https://python-all.ru/2.7/library/robotparser.html#module-robotparser) переименован в `urllib.robotparser` в Python 3. Инструмент [2to3](https://python-all.ru/2.7/glossary.html#term-2to3) автоматически адаптирует импорты при преобразовании исходных текстов в Python 3.1213Этот модуль предоставляет единственный класс [`RobotFileParser`](https://python-all.ru/2.7/library/robotparser.html#robotparser.RobotFileParser), который отвечает на вопросы о том, может ли определённый пользовательский агент получить URL на веб-сайте, опубликовавшем файл `robots.txt`. Для получения дополнительных сведений о структуре файлов `robots.txt` см. [http://www.robotstxt.org/orig.html](https://python-all.ru/2.7/library/robotparser.html).1415#### `class robotparser.RobotFileParser(url='')`1617Этот класс предоставляет методы для чтения, разбора и ответов на вопросы о файле `robots.txt` по адресу *url*.1819#### `set_url(url)`2021Устанавливает URL, указывающий на файл `robots.txt`.2223#### `read()`2425Читает URL `robots.txt` и передаёт его парсеру.2627#### `parse(lines)`2829Разбирает аргумент lines.3031#### `can_fetch(useragent, url)`3233Возвращает `True`, если *useragent* разрешено получать *url* в соответствии с правилами, содержащимися в разобранном файле `robots.txt`.3435#### `mtime()`3637Возвращает время последней загрузки файла `robots.txt`. Это полезно для долго работающих веб-пауков, которым необходимо периодически проверять новые файлы `robots.txt`.3839#### `modified()`4041Устанавливает время последней загрузки файла `robots.txt` на текущее время.4243Следующий пример демонстрирует базовое использование класса RobotFileParser.4445```python46>>> import robotparser47>>> rp = robotparser.RobotFileParser()48>>> rp.set_url("http://www.musi-cal.com/robots.txt")49>>> rp.read()50>>> rp.can_fetch("*", "http://www.musi-cal.com/cgi-bin/search?city=San+Francisco")51False52>>> rp.can_fetch("*", "http://www.musi-cal.com/")53True54```55