scrapy之定制命令

单爬虫运行

import sys
from scrapy.cmdline import execute

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

然后右键运行py文件即可运行名为‘chouti‘的爬虫

同时运行多个爬虫

步骤如下:

- 在spiders同级创建任意目录,如:commands
- 在其中创建 crawlall.py 文件 (此处文件名就是自定义的命令)
- 在settings.py 中添加配置 COMMANDS_MODULE = '项目名称.目录名称'
- 在项目目录执行命令:scrapy crawlall 

代码如下:

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏LeoXu的博客

NDK学习笔记(一) 原

以Windows环境为例,以下工具在使用NDK开发Android应用程序时都会要用到:

10420
来自专栏C/C++基础

Linux命令(24)——mv命令

mv命令用来为文件或目录改名,或将文件或目录移入其它位置。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。

29110
来自专栏蓝天

StarUML 5.0问题解决:Failed to open the model file. Invalid file format.

使用StarUML 5.0打开一个已有的文件时,如果遇到报“Failed to open the model file. Invalid file format...

11410
来自专栏xingoo, 一个梦想做发明家的程序员

JavaMelody应用监控使用指南

前言  本文参考JavaMelody的UserGuide编写,部分文字均来自文档,添加有个人理解。并进行实践操作   JavaMelody是一款可以监控...

26660
来自专栏Bug生活2048

Linux下MongoDB实现远程自动备份

既然都备份了,为了保险起见,备份与库就不放在同一台服务器上了,于是向运维申请了一台服务器,同时安装好mongo,如果不知道怎么安装mongo的话可以看我的上一篇...

20520
来自专栏桥路_大数据

React Natived打包报错java.io.IOException: Could not delete path '...\android\support\v7'解决

45290
来自专栏pangguoming

centos7上安装redis

关闭防火墙: systemctl stop firewalld.service #停止firewall systemctl disable firewalld....

619100
来自专栏技术博文

ini_set()函数的使用 以及 post_max_size,upload_max_filesize的修改方法

Apache服务器处理: ini_set('display_errors', 'Off'); ini_set('memory_limit', -1); //-1...

28140
来自专栏Rgc

ubuntu环境部署项目

 安装 nginx:  https://www.cnblogs.com/EasonJim/p/7806879.html

32220
来自专栏杂烩

javaee项目性能检测之JavaMelody

    它并不是一个模拟请求类似JMeter的压力测试工具,而是一个衡量并且计算在应用上的操作信息的工具,也就是说,它只负责对行为进行监控,而不负责触发操作。J...

36120

扫码关注云+社区

领取腾讯云代金券