使用Scrapy时出现虽然队列里有很多Request但是却不下载,造成假死状态
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
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_timeoutspider attribute and per-request using download_timeoutRequest.meta key.
http://doc.scrapy.org/en/latest/topics/settings.html
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
現(xiàn)象就是:
程序運(yùn)行一段時(shí)間,可能是幾十分鐘或者幾個(gè)小時(shí),然后后臺(tái)日志里面就不出現(xiàn)下載頁(yè)面的信息,一直顯示上一分鐘抓取了0個(gè)網(wǎng)頁(yè)的信息。
剛開(kāi)始已經(jīng)猜到是某些下載線程沒(méi)有正常執(zhí)行回調(diào)方法引起程序一直以為線程還未下載完成,但是水平有限研究源碼未果。
經(jīng)過(guò)不停的google終于發(fā)現(xiàn)一個(gè)有價(jià)值的信息,是給twisted提出的一個(gè)bugfix
連接地址如下http://twistedmatrix.com/trac/attachment/ticket/5773/patch1.diff#L739
?
為client加上了超時(shí)的限制,一定時(shí)間內(nèi)如果無(wú)響應(yīng)則執(zhí)行設(shè)定的超時(shí)回調(diào)。
?
我把里面的timeout=0改成了timeout=10
替換后在運(yùn)行scrapy程序,問(wèn)題不再出現(xiàn)
?
附件中為替換好的文件,下載后直接去掉文件后綴 .rar即可
_newclient.py.rar (53.7 KB)
下載次數(shù): 48
client.py.rar (53.5 KB)
下載次數(shù): 30
轉(zhuǎn)載于:https://my.oschina.net/airship/blog/628765
總結(jié)
以上是生活随笔為你收集整理的使用Scrapy时出现虽然队列里有很多Request但是却不下载,造成假死状态的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 数据库(mysql、oracle、sql
- 下一篇: laya ts fgui的list滚动列