首页 > 解决方案 > 如何使用 Scrapy 一次更快地运行一个蜘蛛的多个版本?

问题描述

我在这篇文章中找到了一个运行多个版本的单个蜘蛛的解决方案。

所以我用几个不同的 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

标签: pythonscrapy

解决方案


推荐阅读