我计划让daemon CrawlWorker(子类化multiprocessing.Process)监视队列中的scrape请求。
此工作人员的职责是从队列中获取scrape请求并将其提供给蜘蛛。为了避免实现批处理逻辑(比如在创建新蜘蛛之前等待N个请求),保持所有蜘蛛活着是否有意义,然后向每个蜘蛛添加更多的抓取请求#&# 39;重新闲置,如果没有更多的刮擦请求,请保持打开状态?
实现这一目标的最佳,最简单,最优雅的方法是什么?似乎给定属性start_urls
,蜘蛛意图用初始工作列表实例化,做它的工作,然后死。
我正在考虑听spider_closed
,但我可以提出一个例外,以保持开放吗?