此模块提供单个类,RobotFileParser
用于回答有关特定用户代理是否可以在发布该robots.txt
文件的网站上获取URL的问题。有关robots.txt
文件结构的更多详细信息,请参阅http://www.robotstxt.org/orig.html。
class urllib.robotparser.
RobotFileParser
(url ='' )
此类提供了robots.txt
在url处读取,解析和回答有关文件的问题的方法 。
set_url
(url )
设置引用robots.txt
文件的URL 。
read
()
读取robots.txt
URL并将其提供给解析器。
parse
(行)
解析线条参数。
can_fetch
(useragent,url )
返回True
是否允许useragent 根据解析 文件中包含的规则获取urlrobots.txt
。
mtime
()
返回robots.txt
上次提取文件的时间。这对于需要robots.txt
定期检查新文件的长期运行的Web蜘蛛非常有用 。
modified
()
将robots.txt
文件上次提取的时间设置为当前时间。
crawl_delay
(使用者)
返回有问题 的useragent的Crawl-delay
参数值。如果没有此类参数或者它不适用于指定的useragent,或者此参数的条目具有无效语法,则返回。robots.txt
robots.txt
None
3.6 新版功能.
request_rate
(使用者)
返回的内容Request-rate
从参数 robots.txt
作为命名的元组 。如果没有此类参数或者它不适用于 指定的useragent,或者此参数的条目具有无效语法,则返回。RequestRate(requests, seconds)
robots.txt
None
3.6 新版功能.
以下示例演示了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