如何使用Scrapy一次运行一个蜘蛛的多个版本更快?

时间:2018-11-04 17:01:50

标签: python scrapy

我找到了一种解决方案,可以在this post中运行一个蜘蛛的多个版本。

所以我用几个不同的Windows命令一次运行了这几个版本:

scrapy crawl spider -a lo_lim=2005 -a up_lim=2007 ...
scrapy crawl spider -a lo_lim=2007 -a up_lim=2009  ...
scrapy crawl spider -a lo_lim=2009 -a up_lim=2011  ...

我一次使用了7个版本。

我的问题是,当我像这样跑很多蜘蛛时,我亲眼看到了这个过程变得如此缓慢。这在'finish_time''start_time'的日志中也可见。如果一次使用两个版本,每个命令大约需要1个小时。如果我一次使用七个版本,则每个命令要花费七个多小时,甚至更多。

settings.py中,我写了

CONCURRENT_REQUESTS = 128
DOWNLOAD_DELAY = 0.25 
CONCURRENT_REQUESTS_PER_IP=64 
AUTOTHROTTLE_ENABLED = False

我肯定这还不够,因为我看到了结果,但是认为这些配置是提高速度的方法我是否错了?我该怎么做才能使抓取速度更快?

PS:我将Tor与Vidalia和Polipo一起使用。所以我知道我的连接不能很快,这就是匿名性的缺点。但是真正的问题是我一次运行多个。而且我的CPU远远没有达到其最大容量。

Scrapy版本:1.5.0,Python版本:2.7.9

0 个答案:

没有答案