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

13.3. robotparser – Парсер для robots.txtrobotparser – 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