我知道一个恒定的延迟可以是否可以在scrapy中设置动态下载延迟?
settings.py
DOWNLOAD_DELAY = 2
设置但是,如果我延迟设置为2秒它是没有效率不够。如果我将DOWNLOAD_DELAY设置为0.
爬虫能够抓取大约10个页面。在那之后,目标页面会返回类似“你太频繁请求”的内容。
我想要做的是保持download_delay为0.一旦在HTML中发现“请求太频繁”的味精。它将延迟更改为2秒。一段时间后,它切换回零。
有没有任何模块可以做到这一点?或者其他更好的想法来处理这种情况?
更新: 我发现这是一个扩展调用AutoThrottle 但它是否能够自定义这样的逻辑?
if (requesting too frequently) is found
increase the DOWNLOAD_DELAY
正是Autothrottle所做的;你也可以设置其限制。 – nramirezuy 2014-12-03 18:01:42