rmax / scrapy-redis

Redis-based components for Scrapy.
http://scrapy-redis.readthedocs.io
MIT License
5.54k stars 1.59k forks source link

你好,大佬,请问一个问题,我用scrapy-redis执行爬虫的时候,设置最大并发是20,但是怎么感觉像创建20个队列一样,上一个20执行完之后,下一个20再执行,大佬,您能为我解答一下吗,感激不尽 #263

Closed zhanghongdou closed 1 year ago

zhanghongdou commented 2 years ago

你好,大佬,请问一个问题,我用scrapy-redis执行爬虫的时候,设置最大并发是20,但是怎么感觉像创建20个队列一样,上一个20执行完之后,下一个20再执行,大佬,您能为我解答一下吗,感激不尽

Zerorigin commented 2 years ago

首先你需要贴出你的爬虫设置(所有并发相关的) 其次尽量用英文提问

话说我很久没用 scrapy-redis 了 而且之前使用时一直特地限制并发 所以都忘了具体是啥情况

只能期望有其他人帮你回答了

LuckyPigeon commented 1 year ago

@zhanghongdou 最大并發是 scrapy 內建選項,並非 scrapy-redis,可以去 scrapy 群取得更詳細資訊。 以你上述問題來說,答案是「對」,python 的 multiprocessing 是透過排程不斷在執行序間轉換,形成一種「類併發」。而 scrapy 調用這方法使用的是 queue,將最大併發數的 requests 打入 queue,再發給執行序們執行。

可以參考 文件:https://docs.scrapy.org/en/latest/topics/settings.html 程式碼:https://github.com/scrapy/scrapy/blob/master/scrapy/core/downloader/__init__.py