刮擦:一个项目中有多个爬虫



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

目前,我将两个蜘蛛放在两个独立的抓取项目中,具有不同的设置、管道和中间件。每次开始爬网过程,都需要先抓取IP,导出到文件中,然后转到其他爬虫的根目录,将IP读入 setting.py。我想知道是否可以将两个蜘蛛组合成一个项目,这样我只需要运行一个命令即可开始整个爬行过程。

多谢!

您可以在 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'"])

最新更新