发布于 2015-09-04 06:59:46 | 275 次阅读 | 评论: 0 | 来源: 网络整理
该扩展能根据Scrapy服务器及您爬取的网站的负载自动限制爬取速度。
在Scrapy中,下载延迟是通过计算建立TCP连接到接收到HTTP包头(header)之间的时间来测量的。
注意,由于Scrapy可能在忙着处理spider的回调函数或者无法下载,因此在合作的多任务环境下准确测量这些延迟是十分苦难的。 不过,这些延迟仍然是对Scrapy(甚至是服务器)繁忙程度的合理测量,而这扩展就是以此为前提进行编写的。
算法根据以下规则调整下载延迟及并发数:
AUTOTHROTTLE_START_DELAY
中指定的下载延迟启动。注解
AutoThrottle扩展尊重标准Scrapy设置中的并发数及延迟。这意味着其永远不会设置一个比
DOWNLOAD_DELAY
更低的下载延迟或者比
CONCURRENT_REQUESTS_PER_DOMAIN
更高的并发数
(或 CONCURRENT_REQUESTS_PER_IP
,取决于您使用哪一个)。
下面是控制AutoThrottle扩展的设置:
AUTOTHROTTLE_ENABLED
AUTOTHROTTLE_START_DELAY
AUTOTHROTTLE_MAX_DELAY
AUTOTHROTTLE_DEBUG
CONCURRENT_REQUESTS_PER_DOMAIN
CONCURRENT_REQUESTS_PER_IP
DOWNLOAD_DELAY
更多内容请参考 限速算法 。