urllib.robotparser解析器for robots.txt

源代码: Lib / urllib / robotparser.py


这个模块提供了一个单独的类RobotFileParser,它回答了关于特定用户代理是否可以在发布robots.txt文件的Web站点上获取URL的问题。有关robots.txt文件,请参阅http://www.robotstxt.org/orig.html.

class urllib.robotparser.RobotFileParser(url=””)

本课程提供阅读,解析和回答有关robots.txt文件在url.

set_urlurl

设置引用robots.txt文件的URL

read// ()

读取robots.txt URL并将其提供给解析器

parselines

解析线条论据

can_fetch// (useragent, url)

回复True如果useragent被允许取url根据解析robots.txt文件。

mtime

返回robots.txt文件是最后一次获取的。这对于需要定期检查新的robots.txt文件的长期运行的web蜘蛛来说是有用的.

modified ()

设置时间robots.txt文件最后被提取到currenttime.

crawl_delay(useragent)

Crawl-delay返回robots.txt的值为useragent有问题如果没有这样的参数或者它不适用于useragent指定或robots.txt条目此参数的语法无效,则返回None.

版本3.6中的新增.

request_rateuseragent

Request-rate返回robots.txt参数的内容作为命名的元组 RequestRate(requests, seconds)。如果没有这样的参数或它不适用于useragent指定或robots.txt此参数的条目有invalidsyntax,则返回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.requests3>>> rrate.seconds20>>> 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

评论被关闭。