爬虫基础13(框架Scrapy自定制启动爬虫命令)

框架Scrapy自定制启动爬虫命令

1、在spiders同级创建任意目录,如:commands

2、在其中创建 crawlall.py 文件 (此处文件名就是自定义的命令)

from scrapy.commands import ScrapyCommand
    from scrapy.utils.project import get_project_settings


    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()

crawlall.py

3、在settings.py 中添加配置 COMMANDS_MODULE = '项目名称.目录名称'

4、在settings.py 中添加配置 COMMANDS_MODULE = '项目名称.目录名称'

  启动多个或者单个爬虫(建立start.py文件)

import sys
from scrapy.cmdline import execute

if __name__ == '__main__':
    execute(["scrapy","github","--nolog"])
    # 启动所有爬虫
    # execute(["scrapy","crawlall","--nolog"])

 

posted @ 2018-07-07 09:28  争-渡  阅读(203)  评论(0)    收藏  举报