亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

python - 如何解決scarpy-redis空跑問題?

瀏覽:94日期:2022-06-25 16:52:42

問題描述

scrapy-redis框架中,reids存儲的xxx:requests已經爬取完畢,但程序仍然一直運行,如何自動停止程序,而不是一直在空跑?

2017-07-03 09:17:06 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)2017-07-03 09:18:06 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)

可以通過engine.close_spider(spider, ’reason’)來停止程序的運行。

def next_request(self):block_pop_timeout = self.idle_before_closerequest = self.queue.pop(block_pop_timeout)if request and self.stats: self.stats.inc_value(’scheduler/dequeued/redis’, spider=self.spider)if request is None: self.spider.crawler.engine.close_spider(self.spider, ’queue is empty’)return request

還有一個問題不明白:當通過engine.close_spider(spider, ’reason’)來關閉spider時,會出現幾個錯誤之后才能關閉。

# 正常關閉2017-07-03 18:02:38 [scrapy.core.engine] INFO: Closing spider (queue is empty)2017-07-03 18:02:38 [scrapy.statscollectors] INFO: Dumping Scrapy stats:{’finish_reason’: ’queue is empty’, ’finish_time’: datetime.datetime(2017, 7, 3, 10, 2, 38, 616021), ’log_count/INFO’: 8, ’start_time’: datetime.datetime(2017, 7, 3, 10, 2, 38, 600382)}2017-07-03 18:02:38 [scrapy.core.engine] INFO: Spider closed (queue is empty)# 之后還會出現幾個錯誤才關閉spider,難道spider剛啟動時會啟動多個線程一起抓取, # 然后其中一個線程關閉了spider,其他線程就找不到spider才會報錯!Unhandled ErrorTraceback (most recent call last): File 'D:/papp/project/launch.py', line 37, in <module> process.start() File 'D:Program Filespython3libsite-packagesscrapycrawler.py', line 285, in start reactor.run(installSignalHandlers=False) # blocking call File 'D:Program Filespython3libsite-packagestwistedinternetbase.py', line 1243, in run self.mainLoop() File 'D:Program Filespython3libsite-packagestwistedinternetbase.py', line 1252, in mainLoop self.runUntilCurrent()--- <exception caught here> --- File 'D:Program Filespython3libsite-packagestwistedinternetbase.py', line 878, in runUntilCurrent call.func(*call.args, **call.kw) File 'D:Program Filespython3libsite-packagesscrapyutilsreactor.py', line 41, in __call__ return self._func(*self._a, **self._kw) File 'D:Program Filespython3libsite-packagesscrapycoreengine.py', line 137, in _next_request if self.spider_is_idle(spider) and slot.close_if_idle: File 'D:Program Filespython3libsite-packagesscrapycoreengine.py', line 189, in spider_is_idle if self.slot.start_requests is not None:builtins.AttributeError: ’NoneType’ object has no attribute ’start_requests’

問題解答

回答1:

怎樣知道放的requests爬取完畢,這個要定義才知道如果不復雜,可以使用內部擴展關掉!

scrapy.contrib.closespider.CloseSpider

CLOSESPIDER_TIMEOUTCLOSESPIDER_ITEMCOUNTCLOSESPIDER_PAGECOUNTCLOSESPIDER_ERRORCOUNThttp://scrapy-chs.readthedocs...

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国产亚洲一区二区精品 | 国产日韩精品一区在线观看播放 | 中文字幕在线一区二区在线 | 免费一级 一片一毛片 | 欧美成人精品免费播放 | 自拍欧美日韩 | 欧美大片a一级毛片视频 | 国产黄色一级网站 | 国产福利最新手机在线观看 | 国产永久在线视频 | 免费看黄色片的网站 | 国产一区在线免费观看 | 国产精品观看在线亚洲人成网 | 韩国美女一区二区 | 美国一级毛片片aa成人 | 免费精品一区二区三区在线观看 | 在线播放精品一区二区啪视频 | 亚洲欧美日韩中文字幕在线一区 | 亚洲在线看片 | 亚洲国产成人久久99精品 | 一级网站在线观看 | 久久精品综合 | 国产精品私人玩物在线观看 | 日韩专区亚洲综合久久 | 亚洲成人黄色在线观看 | 久久国产高清 | 久艹视频在线免费观看 | 中国一级特黄剌激爽毛片 | 性欧美一级毛片欧美片 | 亚洲久草 | 久久精品成人一区二区三区 | 在线观看一级毛片免费 | 国产三级在线看 | 美女视频网站免费播放视 | 亚洲欧美日韩国产vr在线观 | 欧美一级特黄一片免费 | a级毛片免费观看在线播放 a级毛片免费看 | 精品视频一区二区三区 | 亚洲欧美自拍一区 | 国产日韩久久久久69影院 | 国产亚洲一路线二路线高质量 |