我正在创建一个简单的应用程序,我必须跟踪页面中的链接等等...从而构建一个非常基本的Web爬虫原型。
当我测试它时,我遇到了robot.txt,它对于试图抓取其网站的任何外部爬虫都有限制。例如,如果一个网站的robot.txt的命中限度不超过每秒1次(如wikipedia.org的命中率),并且如果我按照以下速率抓取几页维基百科每秒1页,那么我如何估计在我爬行时会产生多少次点击?
问题:如果我通过python的urllib下载整个页面,它会占多少点击数?
以下是我的示例代码:
import urllib.request
opener = urllib.request.FancyURLopener({})
open_url = opener.open(a)
page = open_url.read()
print page
答案 0 :(得分:1)
如果您从包含urllib
的网站下载整个网页,则会将其视为一(1)个匹配。
将页面保存到变量中,并从现在开始使用此变量。
此外,我建议您使用requests
代替urllib
。更容易/更好/更强。
答案 1 :(得分:1)
你能做的一件事就是在两个请求之间留出时间差,这样可以解决你的问题,也可以防止你被阻止。