Scrapy定制命令

Posted wt7018

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scrapy定制命令相关的知识,希望对你有一定的参考价值。

一、单爬虫运行

每次运行scrapy都要在终端输入命令太麻烦了

在项目的目录下创建manager.py(任意名称)

from scrapy.cmdline import execute

if __name__ == __main__:
    execute(["scrapy", "crawl", "quote", "--nolog"])

二、所有爬虫运行

1、在spiders同级创建commands目录(任意)

2、在其中创建 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()

3、配置文件

# COMMANDS_MODULE = ‘项目名称.目录名称‘
COMMANDS_MODULE = toscrapy.commands

4、manager.py

from scrapy.cmdline import execute

if __name__ == __main__:
    execute(["scrapy", "crawlall", "--nolog"])

 

以上是关于Scrapy定制命令的主要内容,如果未能解决你的问题,请参考以下文章

scrapy框架自定制命令

Scrapy-自定制scrapy命令

Scrapy定制命令

Scrapy 框架 中间件,信号,定制命令

你知道在 scrapy 中,可以定制化导出数据格式吗?scrapy 导出器学习

scrapy主动退出爬虫的代码片段(python3)