上一篇文章讲述了如何创建一个scrapy项目,在写的过程中觉得一个一个启动项目十分的不方便,便记录一下如何一次启动多个爬虫文件

一、 启动所有爬虫

在spiders同级目录下创建一个目录 common ,然后在此目录下创建一个名为 crawl_all.py 的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()

然后再到项目根目录下去输入以下命令来启动爬虫即可启动所有爬虫

scrapy crawl_all --nolog

二、 在py文件下启动

common 目录下创建run.py文件,在文件中写入以下代码即可实现

from scrapy.cmdline import execute

execute('scrapy crawl_all --nolog'.split(' '))