2019獨角獸企業重金招聘Python工程師標準>>>
DOWNLOAD_TIMEOUT
Default: 180
The amount of time (in secs) that the downloader will wait before timing out.
Note
This timeout can be set per spider using download_timeout
spider attribute and per-request using download_timeout
Request.meta key.
http://doc.scrapy.org/en/latest/topics/settings.html
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
現象就是:
程序運行一段時間,可能是幾十分鐘或者幾個小時,然后后臺日志里面就不出現下載頁面的信息,一直顯示上一分鐘抓取了0個網頁的信息。
剛開始已經猜到是某些下載線程沒有正常執行回調方法引起程序一直以為線程還未下載完成,但是水平有限研究源碼未果。
經過不停的google終于發現一個有價值的信息,是給twisted提出的一個bugfix
連接地址如下http://twistedmatrix.com/trac/attachment/ticket/5773/patch1.diff#L739
?
為client加上了超時的限制,一定時間內如果無響應則執行設定的超時回調。
?
我把里面的timeout=0改成了timeout=10
替換后在運行scrapy程序,問題不再出現
?
附件中為替換好的文件,下載后直接去掉文件后綴 .rar即可
_newclient.py.rar (53.7 KB)
下載次數: 48
client.py.rar (53.5 KB)
下載次數: 30