写好自己的爬虫项目之后,可以自己定制爬虫运行的命令。

一、单爬虫

在项目的根目录下新建一个py文件,如命名为start.py,写入如下代码:

from scrapy.cmdline import execute

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

运行start.py即可。

二、多爬虫运行

1、在spiders的同级目录创建文件夹,如commands;

2、在这个新建的文件夹下创建一个py文件,如命名为crawlall.py,编写代码:

from scrapy.commands import ScrapyCommand

class Command(ScrapyCommand):
requires_project = True def syntax(self):
return "[options]" def short_desc(self):
return "Run 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、在settings.py中添加配置:COMMANDS_MODULE = "项目名.目录名"

如:COMMANDS_MODULE = "my_scrapy.commands"

4、在终端输入:scrapy crawlall --nolog 即可运行  (crawlall是步骤2中你新建的py文件名)

最新文章

  1. oracle 取小数位数
  2. WinForm 窗体应用程序 (初步)之二
  3. Composer设置忽略版本匹配的方法
  4. C#保存Base64格式图片
  5. 【转载】简述Linux的启动过程
  6. BZOJ 1878 HH的项链(树状数组)
  7. OpenJDK与JDK的区别及Ubuntu下的安装方法
  8. CentOS 7 安装 tomcat7.0
  9. HTTP DNS小结
  10. hibernate学习五(关系映射多对一与一对多)
  11. Baidu Map Web API 案例
  12. Arachnid包含一个简单的HTML剖析器能够分析包含HTML内容的输入流
  13. HTTPS抓包配置
  14. mysql_【MySQL】常见的mysql 进程state
  15. 转:AFNetworking 与 UIKit+AFNetworking 详解
  16. SQL Count(*)函数,GROUP_By,Having的联合使用
  17. python静态属性的理解
  18. linux下如何批量杀JAVA进程或某个进程方法
  19. 经典的js返回(退个页面)
  20. java使用jedis访问CentOS中的redis

热门文章

  1. Python教程:matplotlib 绘制双Y轴曲线图
  2. [转载]win&office 激活教程,详细
  3. .net core 部署到windows服务上的方法
  4. LR字符串处理函数-lr_save_int
  5. Mybatis一对多或多对多只能查出一条数据解决策略
  6. ca72a_c++_标准IO库:面向对象的标准库
  7. class 类组件:
  8. GIT本地库基本操作-命令行
  9. java8 探讨与分析匿名内部类、lambda表达式、方法引用的底层实现
  10. 利用synchronized解析死锁的一种形成方式