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