当Scrapy spider的实例正在爬行时,我们如何动态更改下载延迟设置?

当Scrapy spider的实例正在爬行时,我们如何动态更改下载延迟设置?,scrapy,Scrapy,目标: 当我被禁止时,我想以较快的速度发送请求,一旦我得到200个响应,我希望请求速度减慢。(我这样做是为了测试一个域将代理IP地址池中的哪些IP地址列入黑名单,以及一个好的代理IP可以礼貌地发出多少请求。) 在settings.py中下载\u DELAY 在Scrapy中,有DOWNLOAD\u DELAY设置来处理发送请求的速度 问题1:启动爬行器后,似乎无法更改设置 ipdb> spider.crawler.settings.set('DOWNLOAD_DELAY', 3) ***

目标:

当我被禁止时,我想以较快的速度发送请求,一旦我得到200个响应,我希望请求速度减慢。(我这样做是为了测试一个域将代理IP地址池中的哪些IP地址列入黑名单,以及一个好的代理IP可以礼貌地发出多少请求。)

settings.py中下载\u DELAY

在Scrapy中,有
DOWNLOAD\u DELAY
设置来处理发送请求的速度

问题1:启动爬行器后,似乎无法更改设置

ipdb> spider.crawler.settings.set('DOWNLOAD_DELAY', 3)
*** TypeError: Trying to modify an immutable Settings object

问题2:对采取另一种方法有什么建议吗?

我也被困在这里,并想出一种快速而肮脏的方法来解决它

settings.fronzen = False
# change settings here
# e.g.   settings.set('REQUEST_HEADERS', {'authorization': 'hehe',}, priority=60)
# don't forget to set priority a integer larger than 40 to override `cmdline` priority
settings.freeze()