20.9. urllib.robotparser – Парсер для robots.txt¶urllib.robotparser – Parser for robots.txt
Этот модуль предоставляет один класс RobotFileParser, который отвечает на вопросы, может ли конкретный пользовательский агент загрузить URL на веб-сайте, опубликовавшем файл robots.txt. Подробнее о структуре файлов robots.txt см. http://www.robotstxt.org/orig.html.
- class urllib.robotparser.RobotFileParser¶
Этот класс предоставляет набор методов для чтения, разбора и ответа на вопросы об одном robots.txt файле.
- 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 urllib.robotparser
>>> rp = urllib.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