Scrapy随后抓取多个蜘蛛

问题描述:

我对scrapy有点新,而且我被困在一个点上。我想在关闭时重新启动蜘蛛。Scrapy随后抓取多个蜘蛛

我想在这里实现的是我从数据库中获取URL我以我每次发送“scrapy crawl xyz”请求的方式编写我的视图start_request将获得一个URL [下一个URL]与前一个数据库请求中传递的内容不同。

问题是如果数据库中有四个URL我需要运行“scrapy crawl xyz”4次,但我想避免这种情况,并且我试图在当前“spider_closed”获取“scrapy crawl xyz”时触发叫在蜘蛛的尽头。请帮助

如果您想在一个脚本中抓取多个蜘蛛 - 您可能想从脚本运行蜘蛛。见official docummenation on how to do that

要在在文档中提供的示例扩大,你的应该是这个样子:

process.crawl(MySpider) 
process.start() 
process.crawl(MySpider2) 
process.start() 
process.crawl(MySpider3) 
process.start() 
+0

感谢Granitosaurus但我不想要运行多个蜘蛛,我试图在这里当它从第一个URL完成抓取数据时再次运行相同的蜘蛛 – vrnair

+0

在这种情况下,您只需要在添加MySpider.start_urls属性之前更新它。顺便说一下,为什么不启动蜘蛛时,将多个url传递给start_requests呢? – Granitosaurus

+0

虽然将多个URL一起传递,但我正在从连接对等和“twisted.python.failure.failure类'openssl.ssl.error'”重置,但同时当我一次抓取这些链接时,它们将被抓取没有任何错误 – vrnair

嗨,大家好,我发现我的问题的问题。我想同时运行相同的scrapy命令。所以我做的是在linus中创建我自己的命令,然后把我的scrapy抓取xyz到一个循环中,并且工作。

!/斌/庆典

因为我在seq 1 3 做 scrapy爬Taleo公司