在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/人工智能  數(shù)據(jù)分析&挖掘  Python  網(wǎng)絡(luò)安全/ 多個scrapy-redis無法同時抓取

多個scrapy-redis無法同時抓取

同時開啟兩個scrapy任務(wù),然后往redispush一個start_url
但是只有一個scrapy任務(wù)A在運行,當(dāng)把A停止之后,B任務(wù)才會開始抓取。

原因貌似是因為scrapy-redis在運行過程中,在redis中并沒有保存requests,只保存了dupefilter,只有ctrl+c停止后,才會在redis中保存requests

或者在往redis中push一個start_url,B任務(wù)才會開始抓取。
這是怎么回事?

clipboard.png

clipboard.png

版本:
python 3.6
Scrapy (1.5.0)
scrapy-redis (0.6.8)

settings.py

SCHEDULER = "scrapy_redis.scheduler.Scheduler"
DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"
SCHEDULER_PERSIST = True
回答
編輯回答
歆久

原因找到了,是因為 生成next_url太慢,即往redis push之后,立馬被pop了,才導(dǎo)致redis 沒有 requests的序列化,然后導(dǎo)致其他scrapy實例無法讀取request繼而無法同時進行數(shù)據(jù)抓取。

2017年12月10日 15:31
編輯回答
誮惜顏

那么這個問題要怎么解決?

2017年2月28日 23:25