Документация Python неофициальный перевод

urllib.robotparser.md

74 строк · 4.3 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/3.7/library/urllib.robotparser.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# [`urllib.robotparser`](https://python-all.ru/3.7/library/urllib.robotparser.html#module-urllib.robotparser) – парсер robots.txt89**Исходный код:** [Lib/urllib/robotparser.py](https://python-all.ru/src/3.7/Lib/urllib/robotparser.py)1011---1213Этот модуль предоставляет единственный класс [`RobotFileParser`](https://python-all.ru/3.7/library/urllib.robotparser.html#urllib.robotparser.RobotFileParser), который отвечает на вопросы о том, может ли определённый пользовательский агент получить URL на веб-сайте, опубликовавшем файл `robots.txt`. Для получения дополнительных сведений о структуре файлов `robots.txt` см. [http://www.robotstxt.org/orig.html](https://python-all.ru/3.7/library/urllib.robotparser.html).1415#### `class urllib.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#### `crawl_delay(useragent)`4445Возвращает значение параметра `Crawl-delay` из `robots.txt` для указанного *useragent*. Если такого параметра нет, или он не применяется к указанному *useragent*, или запись `robots.txt` для этого параметра содержит недопустимый синтаксис, возвращает `None`.4647Новое в версии 3.6.4849#### `request_rate(useragent)`5051Возвращает содержимое параметра `Request-rate` из `robots.txt` в виде [именованного кортежа](https://python-all.ru/3.7/glossary.html#term-named-tuple) `RequestRate(requests, seconds)`. Если такого параметра нет, или он не применяется к указанному *useragent*, или запись `robots.txt` для этого параметра содержит недопустимый синтаксис, возвращает `None`.5253Новое в версии 3.6.5455Следующий пример демонстрирует базовое использование класса [`RobotFileParser`](https://python-all.ru/3.7/library/urllib.robotparser.html#urllib.robotparser.RobotFileParser):5657```python58>>> import urllib.robotparser59>>> rp = urllib.robotparser.RobotFileParser()60>>> rp.set_url("http://www.musi-cal.com/robots.txt")61>>> rp.read()62>>> rrate = rp.request_rate("*")63>>> rrate.requests64365>>> rrate.seconds662067>>> rp.crawl_delay("*")68669>>> rp.can_fetch("*", "http://www.musi-cal.com/cgi-bin/search?city=San+Francisco")70False71>>> rp.can_fetch("*", "http://www.musi-cal.com/")72True73```74