2016-05-13 175 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信號,並從那裏調用下一蜘蛛多的蜘蛛,用腳本。

你需要儘快爲所有的蜘蛛做到這一點的信號覆蓋和通話旁邊依賴蜘蛛作爲當前蜘蛛完成了它的操作