2024-06-28 11:16:41 发布
网友
我的用例是这样的:我有10 spiders,并且AUTO_THROTTLE_ENABLED设置被全局设置为True。问题是,对于spiders之一,没有auto-throttling的运行时是4天,但是带有自动调节的运行时是40天。。。在
10 spiders
AUTO_THROTTLE_ENABLED
True
spiders
auto-throttling
我想找到一个平衡,使蜘蛛运行在15天(3倍的原始数额)。今天早上我一直在阅读scrapy文档,但整件事让我有点困惑。有人能告诉我如何在全局范围内启用auto-throttle,并降低它的节流量吗?在
scrapy
auto-throttle
自动油门是专门设计的,这样您就不会手动调整DOWNLOAD_DELAY。将DOWNLOAD_DELAY设置为某个数字将设置一个下限,这意味着您的AUTO_THROTTLE不会比DOWNLOAD_DELAY中设置的数字快。由于这不是您想要的,您最好的选择是将AUTO_THROTTLE设置为除您希望运行得更快的一个以外的所有spider,并手动为其中一个没有AUTO_THROTTLE的spider设置{},以达到您想要的任何效率。在
DOWNLOAD_DELAY
AUTO_THROTTLE
设置DOWNLOAD_DELAY = some_number,其中some_number是每个请求所需的延迟(以秒为单位)RANDOMIZE_DOWNLOAD_DELAY = False,因此它可以是静态的。在
DOWNLOAD_DELAY = some_number
some_number
RANDOMIZE_DOWNLOAD_DELAY = False
从AutoThrottle extension这里 只需添加:
DOWNLOAD_DELAY = 1.5 AUTOTHROTTLE_ENABLED = True AUTOTHROTTLE_START_DELAY = 2 AUTOTHROTTLE_TARGET_CONCURRENCY = 6 ....
任何你想要的东西设置.py在
自动油门是专门设计的,这样您就不会手动调整},以达到您想要的任何效率。在
DOWNLOAD_DELAY
。将DOWNLOAD_DELAY
设置为某个数字将设置一个下限,这意味着您的AUTO_THROTTLE
不会比DOWNLOAD_DELAY
中设置的数字快。由于这不是您想要的,您最好的选择是将AUTO_THROTTLE
设置为除您希望运行得更快的一个以外的所有spider,并手动为其中一个没有AUTO_THROTTLE
的spider设置{设置
DOWNLOAD_DELAY = some_number
,其中some_number
是每个请求所需的延迟(以秒为单位)RANDOMIZE_DOWNLOAD_DELAY = False
,因此它可以是静态的。在从AutoThrottle extension这里 只需添加:
任何你想要的东西设置.py在
相关问题 更多 >
编程相关推荐