Spec-Zone.ru › Python 3.14

urllib.robotparser — парсер для robots.txt

Исходный код: Lib/urllib/robotparser.py

Этот модуль предоставляет единственный класс RobotFileParser, который позволяет определить, может ли определённый пользовательский агент загружать URL-адрес на веб-сайте, опубликовавшем файл robots.txt. Подробнее о структуре файлов robots.txt см. в RFC 9309.

class urllib.robotparser.RobotFileParser(url='')

Этот класс предоставляет методы для чтения и анализа файла robots.txt по адресу url, а также для получения ответов на вопросы о его содержимом.

set_url(url)

Задаёт URL-адрес файла robots.txt.

read()

Считывает содержимое URL-адреса robots.txt и передаёт его парсеру.

parse(lines)

Анализирует аргумент lines.

can_fetch(useragent, url)

Возвращает True, если согласно правилам из проанализированного файла robots.txt пользовательскому агенту useragent разрешено загружать url.

mtime()

Возвращает время последней загрузки файла robots.txt. Это полезно для долго работающих веб-роботов, которым необходимо периодически проверять наличие новых файлов robots.txt.

modified()

Устанавливает время последней загрузки файла robots.txt в текущее время.

crawl_delay(useragent)

Возвращает значение параметра Crawl-delay из robots.txt для указанного пользовательского агента useragent. Если такого параметра нет, он не применяется к указанному useragent или запись robots.txt для этого параметра имеет неверный синтаксис, возвращает None.

Добавлено в версии 3.6.

request_rate(useragent)

Возвращает содержимое параметра Request-rate из robots.txt в виде именованного кортежа RequestRate(requests, seconds). Если такого параметра нет, он не применяется к указанному пользовательскому агенту useragent или запись robots.txt для этого параметра имеет неверный синтаксис, возвращает None.

Добавлено в версии 3.6.

site_maps()

Возвращает содержимое параметра Sitemap из robots.txt в виде list(). Если такого параметра нет или запись robots.txt для этого параметра имеет неверный синтаксис, возвращает None.

Добавлено в версии 3.8.

В следующем примере показано базовое использование класса RobotFileParser:

>>> import urllib.robotparser
>>> rp = urllib.robotparser.RobotFileParser()
>>> rp.set_url("http://www.pythontest.net/robots.txt")
>>> rp.read()
>>> rrate = rp.request_rate("*")
>>> rrate.requests
1
>>> rrate.seconds
1
>>> rp.crawl_delay("*")
6
>>> rp.can_fetch("*", "http://www.pythontest.net/")
True
>>> rp.can_fetch("*", "http://www.pythontest.net/no-robots-here/")
False

© 2001 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.14/library/urllib.robotparser.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API