ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Scrapyd部署

2019-03-06 22:57:33  阅读:260  来源: 互联网

标签:项目 部署 爬虫 json client Scrapyd 上传 scrapyd


https://scrapyd.readthedocs.io/en/latest/api.html#cancel-json

scrapyd部署爬虫项目:

功能:它就相当于是一个服务器,用于将自己本地的爬虫代码,打包上传到服务器上,让这个爬虫在服务器上运行,可以实现对爬虫的远程管理。(远程启动爬虫,远程关闭爬虫,远程查看爬虫的一些日志。)

1 首先安装scrapyd

pip install scrapyd

 2  安装 scrapyd-deploy

scrapyd提供了一个客户端工具,就是scrapyd-client,使用这个工具对scrapyd这个服务进行操作,比如:向scrapyd服务打包上传项目。scrapyd-client类似于redis-cli.exe、mongodb数据库的client。scrapyd-client下载地址:

(注意:服务端scrapyd(==1.2)和客户端scrapyd-client(==1.1)安装的版本一定要保持一致。)

 

pip install scrapyd-client==1.2.0a1

3 上述服务和客户端安装好之后,可以启动scrapyd这个服务了,服务启动之后,不要关闭。

访问127.0.0.1:6800,出现以下页面表示成功启动scrapyd服务

 

4  配置爬虫项目,完成以后,再通过addversion.json进行打包。

 

修改scrapy.cfg文件:

 5   上述的scrapyd服务窗口cmd不要关闭,再新打开一个cmd窗口,用于使用scrapyd-client客户端连接scrapyd服务。

 1)进入项目根目录,然后输入scrapyd-deploy命令,查看scrapyd-client客户端命令能否正常使用

2)查看当前可用于打包上传的爬虫项目;

3)   使用scrapyd-deploy命令打包上传项目;

命令:Scrapyd-deploy  bole  -p  jobbolespider

参数:

Status: “ok”/”error” 项目上传状态

Project: 上传的项目名称    Version: 项目的版本号,值是时间戳       Spiders: 项目Project包含的爬虫个数

4)  通过API接口,查看已经上传至scrapyd服务的项目;

命令:curl  http://localhost:6800/listprojects.json

键值:Projects: [] 所有已经上传的爬虫项目,都会显示在这个列表中。

5)   通过API接口,查看某一个项目中的所有爬虫名称;

命令:curl  http://localhost:6800/listspiders.json?project=jobbolespider

 

注意:如果项目上传失败,需要先将爬虫项目中打包生成的文件删除(build、project.egg-info、setup.py),然后再重新打包上传。

6) 通过API接口,启动爬虫项目;

命令:curl  http://localhost:6800/schedule.json -d  porject=爬虫项目名称 -d  spider=项目中某一个爬虫名称

键值:Jobid: 是根据项目(jobbolespider)和爬虫(bole)生成的一个id,将来用于取消爬虫任务。

7) 如果上传的项目无法运行,在本地调整代码以后,需要重新打包上传。将失效的项目删除。

命令:curl http://localhost:6800/delproject.json -d project=jobbolespider

8) 通过API接口,取消爬虫任务;

参数:Jobid:启动爬虫的时候分配的

 

 

标签:项目,部署,爬虫,json,client,Scrapyd,上传,scrapyd
来源: https://blog.csdn.net/qq_41277632/article/details/88257773

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有