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()
答
嗨,大家好,我发现我的问题的问题。我想同时运行相同的scrapy命令。所以我做的是在linus中创建我自己的命令,然后把我的scrapy抓取xyz到一个循环中,并且工作。
!/斌/庆典
因为我在seq 1 3
做 scrapy爬Taleo公司
做
感谢Granitosaurus但我不想要运行多个蜘蛛,我试图在这里当它从第一个URL完成抓取数据时再次运行相同的蜘蛛 – vrnair
在这种情况下,您只需要在添加MySpider.start_urls属性之前更新它。顺便说一下,为什么不启动蜘蛛时,将多个url传递给start_requests呢? – Granitosaurus
虽然将多个URL一起传递,但我正在从连接对等和“twisted.python.failure.failure类'openssl.ssl.error'”重置,但同时当我一次抓取这些链接时,它们将被抓取没有任何错误 – vrnair