scrapyd是一个用于部署和运行scrapy爬虫的程序,它允许你通过JSON API来部署爬虫项目和控制爬虫运行
scrapyd是一个守护进程,监听爬虫的运行和请求,然后启动进程来执行它们
安装扩展
pip install scrapyd
pip install scrapyd-client
 
首先修改项目的 scrapy.cfg 文件
原始内容为
[deploy]
#url = http://localhost:6800/
project = funsion
 
修改为
[deploy:funsion]
url = http://localhost:6800/
project = funsion
 
scrapyd部署的核心三步骤(蓝色加粗内容)
执行 nohup scrapyd > /dev/null 2>&1 &
 
检查配置, 列出当前可用的服务器 scrapyd-deploy -l

列出服务器上所有的项目, 需要确保服务器上的scrapyd命令正在执行,否则会报连接失败.首次运行的话,可以看到只有一个default项目
scrapyd-deploy -L funsion
 
在爬虫项目根目录下执行下面的命令, 其中target为上一步配置的服务器名称,project为项目名称,可以根据实际情况自己指定。
用法 scrapyd-deploy <target> -p <project>

在项目根目录下输入 scrapyd-deploy funsion -p funsion
得到以下结果
Packing version 1496109534
Deploying to project "funsion" in http://localhost:6800/addversion.json
Server response (200):
{"status": "ok", "project": "funsion", "version": "1496109534", "spiders": 1, "node_name": "localhost.localdomain"}

部署操作会打包你的当前项目,如果当前项目下有setup.py文件,就会使用它,没有的会就会自动创建一个。
如果后期项目需要打包的话,可以根据自己的需要修改里面的信息,也可以暂时不管它。
从返回的结果里面,我们可以看到部署的状态,项目名称,版本号和爬虫个数,以及当前的主机名称
检查部署结果 scrapyd-deploy -L funsion

 
调度爬虫,在项目根目录下
curl http://localhost:6800/schedule.json -d project=funsion -d spider=funsion
 
如果配置了多个服务器的话,可以将项目直接部署到多台服务器
scrapyd-deploy -a -p <project>
 
补充说明:
curl http://localhost:6800/listprojects.json    (列出项目)
curl http://localhost:6800/listspiders.json?project=funsion    (列出爬虫)
curl http://localhost:6800/listjobs.json?project=funsion    (列出job)
curl http://localhost:6800/cancel.json -d project=myproject -d job=你的jobId    (取消爬虫)
 
然后访问 http://localhost:6800/jobs 可以查询图像化界面,成功后应该和下图类似
 
更多参考
http://scrapyd.readthedocs.io/en/stable/   (Scrapyd 文档)
 

最新文章

  1. 【poj2449】 Remmarguts&#39; Date
  2. Nodejs学习总结
  3. 基于jQuery的email suggest插件
  4. squid节点添加新域名测试
  5. 【转】websocket协议规范
  6. 连接ssh反应很慢,卡,延迟
  7. Visual Studio 快捷键
  8. wikioi 1154 能量项链 (2006年NOIP全国联赛提高组)
  9. jquery对象的遍历(显示遍历、隐式遍历)
  10. .Net编译运行原理
  11. PHP+Apache怎样监控多个port和配置多网站
  12. keil4编译Error: User Command terminated, Exit-Code = 1解决
  13. 初探kafka streams
  14. spring----bean的使用
  15. Python 基础知识----流程控制
  16. 根据PDF模板生成PDF文件(基于iTextSharp)
  17. 牛客网-《剑指offer》-替换空格
  18. 推荐系统 BPR 算法求解过程
  19. 计算服务器的pv量算法
  20. webservice快速入门-使用wsimport生成ws服务端(二)

热门文章

  1. Python全栈day10(Pycharm的安装和使用)
  2. ubuntu重新设置登陆界面|切换gdm kdm lightdm
  3. Vi 的常用命令
  4. 剑指Offer——求1+2+3+...+n
  5. 调试maven源代码
  6. Python数据分析(一):工具的简单使用
  7. MySQL基础命令
  8. Struts2 iterator标签实现嵌套循环
  9. jQuery HTML操作学习笔记
  10. Java基础知识陷阱(八)