1. 程式人生 > >scrapy 一個專案裡同時執行多個爬蟲

scrapy 一個專案裡同時執行多個爬蟲

在spiders檔案同級建立一個commands資料夾,建立一個py檔案,我自定義為crawlall.py。

from scrapy.commands import ScrapyCommand


class Command(ScrapyCommand):
    requires_project = True

    def syntax(self):
        return '[options]'

    def short_desc(self):
        return 'Runs all of the spiders'

    def run(self, args, opts):
        spider_list = self.crawler_process.spiders.list()
        for name in spider_list:
            self.crawler_process.crawl(name, **opts.__dict__)
        self.crawler_process.start()

在settings檔案裡把剛建立的crawlall檔案的路徑設定好

COMMANDS_MODULE = "ProxyPool.commands"

最後在cmd下scrapy crawlall執行