2016-05-13 176 views
0

我想连接Scrapy中的多个蜘蛛,以便一个喂食另一个蜘蛛。我意识到Scrapy用于连接解析函数并使用请求的Meta参数来沟通项目的方式。scrapy中的连环蜘蛛

class MySpider(scrapy.Spider): 
    start_urls = [url1] 
    def parse(self, response): 
     # parse code and item generated 
     yield scrapy.Request(url2, call_back=self.parse2, meta={'item': item}) 

    def parse2(self, response): 
     item = response.meta['item']    
     # parse2 code 

但我有一个很长的解析函数列表来连接,这增加的复杂性将更加模块化,更容易调试多蜘蛛。

谢谢!比的cronjob schedulibg其他

+0

只是设置一些'cron'与我想的处决,大约从一个蜘蛛将信息传递给另一我会更好地处理它在单独的文件,dbs等。 – eLRuLL

回答

0

办法是重写close_spider信号

怎么写,每个用例

下次你应该重写close_spider信号,并从那里调用下一蜘蛛多的蜘蛛,用脚本。

你需要尽快为所有的蜘蛛做到这一点的信号覆盖和通话旁边依赖蜘蛛作为当前蜘蛛完成了它的操作