在scrapy中连接蜘蛛

时间:2016-05-13 15:48:10

标签: python scrapy scrapy-spider

我想在Scrapy中连接多个蜘蛛,以便一个的输出反馈另一个。我知道Scrapy用于连接解析函数的方式,并使用请求的Meta参数来通信项目。

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

但是我有很长的连接解析函数列表,这种日益增加的复杂性将更加模块化,并且更容易使用多个蜘蛛进行调试。

谢谢!

1 个答案:

答案 0 :(得分:0)

除了cronjob schedulibg之外的方法将覆盖close_spider信号

因为您为每个用例编写了多个蜘蛛

接下来你应该覆盖close_spider信号并使用脚本从那里调用下一个蜘蛛。

你需要为所有蜘蛛做这个信号覆盖,并在当前蜘蛛完成它的操作后立即调用下一个依赖蜘蛛