13.3. robotparser – Парсер для robots.txt¶robotparser – Parser for robots.txt
Примечание
Модуль robotparser переименован в urllib.robotparser в Python 3.
Инструмент 2to3 автоматически адаптирует импорты при преобразовании исходных текстов в Python 3.
Этот модуль предоставляет единственный класс RobotFileParser, который отвечает на вопросы о том, может ли определённый пользовательский агент получить URL на веб-сайте, опубликовавшем файл robots.txt. Для получения дополнительных сведений о структуре файлов robots.txt см. http://www.robotstxt.org/orig.html.
-
class
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на текущее время.
-
Следующий пример демонстрирует базовое использование класса RobotFileParser.
>>> import robotparser
>>> rp = robotparser.RobotFileParser()
>>> rp.set_url("http://www.musi-cal.com/robots.txt")
>>> rp.read()
>>> rp.can_fetch("*", "http://www.musi-cal.com/cgi-bin/search?city=San+Francisco")
False
>>> rp.can_fetch("*", "http://www.musi-cal.com/")
True