urllib.robotparser — Парсер robots.txt
Исходный код: Lib/urllib/robotparser.py
Этот модуль предоставляет единственный класс, RobotFileParser, который отвечает на вопросы о том, может ли конкретный пользовательский агент получить доступ к URL на веб-сайте, который опубликовал файл robots.txt. Более подробную информацию о структуре файлов robots.txt см. на странице http://www.robotstxt.org/orig.html.
-
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, если useragent разрешено получать доступ к url в соответствии с правилами, содержащимися в обработанном файлеrobots.txt.
-
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.musi-cal.com/robots.txt")
>>> rp.read()
>>> rrate = rp.request_rate("*")
>>> rrate.requests
3
>>> rrate.seconds
20
>>> rp.crawl_delay("*")
6
>>> rp.can_fetch("*", "http://www.musi-cal.com/cgi-bin/search?city=San+Francisco")
False
>>> rp.can_fetch("*", "http://www.musi-cal.com/")
True
© 2001–2022 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.8/library/urllib.robotparser.html