【发布时间】:2015-01-31 17:30:04
【问题描述】:
我知道可以设置一个恒定的延迟
settings.py
DOWNLOAD_DELAY = 2
但是,如果我将延迟设置为 2 秒,则效率不够。如果我设置 DOWNLOAD_DELAY = 0.
爬虫能够爬取大约 10 个页面。之后,目标页面将返回类似“您请求太频繁”的内容。
我想要做的是将 download_delay 保持为 0。一旦在 html 中找到“请求过于频繁”的 msg。它将延迟更改为2s。一段时间后它又变回零。
是否有任何模块可以做到这一点?或任何其他更好的想法来处理这种情况?
更新: 我发现这是一个分机电话AutoThrottle 但是它可以自定义一些这样的逻辑吗??
if (requesting too frequently) is found
increase the DOWNLOAD_DELAY
【问题讨论】:
-
正是 Autothrottle 所做的;您还可以设置其限制。
标签: scrapy web-crawler delay