【问题标题】:Scrapy: Multiple crawler in one projectScrapy:一个项目中的多个爬虫
【发布时间】:2016-11-09 09:23:45
【问题描述】:

我使用带有代理的 scrapy 编写了一个网络爬虫。由于我总是需要一个随机代理池以避免被禁止,因此我决定编写另一个爬虫来抓取提供免费可用 IP 的网站。

目前,我在两个独立的scrapy项目中有两个蜘蛛,它们具有不同的设置、管道和中间件。每次开始爬取过程中,我需要先抓取IP,导出到一个文件,然后进入另一个爬虫的根目录,将IP读取到setting.py中。我想知道是否可以将两个蜘蛛合并到一个项目中,这样我只需要运行一个命令来启动整个爬取过程。

非常感谢!

【问题讨论】:

    标签: python scrapy


    【解决方案1】:

    您可以在 1 个项目中拥有 2 个蜘蛛,但无论如何您都必须运行 2 个不同的命令才能进行抓取。你可以做的是创建一个独立启动进程的脚本。

    import subprocess
    p1=subprocess.Popen(["scrapy","crawl", "spider"])
    p2=subprocess.Popen(["scrapy","crawl", "spider2"])
    

    您甚至可以将参数传递给它,例如您引用的 IP

    p=subprocess.Popen(["scrapy","crawl", "spider", "-a", "website='Newton.ai'"])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-24
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多