2017-04-20 36 views
0

目的:雖然Scrapy蜘蛛的一個實例正在爬行,但我們如何動態更改DOWNLOAD_DELAY設置?

我想以很快的速度,而我得到取締發送請求,然後一旦我得到一個200響應我想請求速率減慢。

DOWNLOAD_DELAYsettings.py

(我在做這個由域測試的內容在代理IP地址池IP地址列入黑名單,有多少請求可以從一個良好的代理IP被禮貌地做。)

在Scrapy中,有DOWNLOAD_DELAY設置可以處理髮送請求的速度。

問題1:似乎蜘蛛啓動後無法更改設置?

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

問題2:服用另一種方法有什麼建議?

回答

-1

我也陷在這裏,找出解決問題的捷徑和骯髒的方法。

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()