Scrapy - 让蜘蛛无限期地打开

时间:2015-01-11 01:47:32

标签: python web-scraping scrapy

我计划让daemon CrawlWorker(子类化multiprocessing.Process)监视队列中的scrape请求。

此工作人员的职责是从队列中获取scrape请求并将其提供给蜘蛛。为了避免实现批处理逻辑(比如在创建新蜘蛛之前等待N个请求),保持所有蜘蛛活着是否有意义,然后向每个蜘蛛添加更多的抓取请求#&# 39;重新闲置,如果没有更多的刮擦请求,请保持打开状态?

实现这一目标的最佳,最简单,最优雅的方法是什么?似乎给定属性start_urls,蜘蛛意图用初始工作列表实例化,做它的工作,然后死。

我正在考虑听spider_closed,但我可以提出一个例外,以保持开放吗?

1 个答案:

答案 0 :(得分:3)

所以我认为最好的方法是连接到signals.spider_idle,然后提升DontCloseSpider。这是reference