使用代理进行scrapy速度处理

时间:2014-10-29 18:31:19

标签: performance proxy scrapy

我无法找到最佳设置来加快scrapy框架的抓取过程。

  1. 我正在抓一个独特的网站
  2. 我正在使用400个代理
  3. 我想要做的是同时启动400个请求(被抓取的网站可以轻松处理)并等待一段时间(让我们说5到10秒之间以避免被禁止)。

    我创建了一个ProxyMiddleware,它为每个请求提供较少使用的代理,并且工作正常,我也将CONCURRENT_ITEMS设置为非常高的数量(我有一个非常强大的服务器)

    如果我正确理解scrapy settings,我必须设置:

    CONCURRENT_REQUESTS_PER_DOMAIN = 400
    DOWNLOAD_DELAY = 0
    

    因为如果我将DOWNLOAD_DELAY设置为高于0的值,我的请求将不会同时执行,因为他们正在访问同一个网站

    所以我所做的就是写:

    time.sleep(float("{0:.2f}".format(random.uniform(5,10))))
    

    在我的解析函数中,但是因为我是python中的新手,我想知道:

    1. time.sleep是影响整个抓取过程还是只影响解析函数?
    2. 有没有办法使用可用设置配置scrapy来实现我的目标?
    3. 如果scrapy中存在这个概念以提高我的蜘蛛性能,我怎么能理解多线程概念?

0 个答案:

没有答案