rmax / scrapy-redis

Redis-based components for Scrapy.

Home Page:http://scrapy-redis.readthedocs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

zhanghongdou opened this issue · comments

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

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

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

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

@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