ubuntu下scrapyd部署爬虫项目
scrapyd部署爬虫的优势:
1、方便监控爬虫的实时运行状态,也可以通过接口调用开发自己的监控爬虫的页面
2、方便统一管理,可以同时启动或关闭多个爬虫
3、拥有版本控制,如果爬虫出现了不可逆的错误,可以通过接口恢复到之前的任意版本
注意:在安装scrapyd之前要确保你的环境能够运行scrapy(无论集成环境还在虚拟环境)
在这里我使用的是虚拟环境API部署(上传)工程,并且控制工程中的爬虫。
1.安装scrapyd
pip install scrapyd
1
2.创建一个目录用于存放爬虫项目的数据文件
3 cd到创建的目录下,之所以到这个目录下运行scrapyd是因为运行时候会在这个目录下产生一个dbs的文件
4 执行scrapyd
目录下会出现dbs一个文件夹
浏览器访问 127.0.0.1:6800
5 安装scrapyd-clien 用于打包
6.拷贝scrapyd-deploy 到爬虫项目下
7 修改项目中的scrapy.cfg 文件
8.执行scrapyd-deploy -l 启动服务,可以看到设置的名称
9.开始打包前,执行一个命令:scrapy list ,这个命令执行成功说明可以打包了,如果没执行成功说明还有工作没完成
返回了爬虫名称说明一切ok了.
10.执行打包命令: scrapyd-deploy 部署名称 -p 项目名称
此时说明打包成功
11.输入开启爬虫命令
curl http://localhost:6800/schedule.json -d project=项目名称 -d spider=爬虫名称
如果缺少curl, 那么就 sudo apt install surl 安装
停止爬虫
curl http://localhost:6800/cancel.json -d project=scrapy项目名称 -d job=运行ID
删除scrapy项目
注意:一般删除scrapy项目,需要先执行命令停止项目下在远行的爬虫
curl http://localhost:6800/delproject.json -d project=scrapy项目名称
查看有多少个scrapy项目在api中
curl http://localhost:6800/listprojects.json
查看指定的scrapy项目中有多少个爬虫
curl http://localhost:6800/listspiders.json?project=scrapy项目名称
总结几个请求url
1、获取状态
http://127.0.0.1:6800/daemonstatus.json
2、获取项目列表
http://127.0.0.1:6800/listprojects.json
3、获取项目下已发布的爬虫列表
http://127.0.0.1:6800/listspiders.json?project=myproject
4、获取项目下已发布的爬虫版本列表
http://127.0.0.1:6800/listversions.json?project=myproject
5、获取爬虫运行状态
http://127.0.0.1:6800/listjobs.json?project=myproject
6、启动服务器上某一爬虫(必须是已发布到服务器的爬虫)
http://127.0.0.1:6800/schedule.json (post方式,data={“project”:myproject,”spider”:myspider})
7、删除某一版本爬虫
http://127.0.0.1:6800/delversion.json
(post方式,data={“project”:myproject,”version”:myversion})
8、删除某一工程,包括该工程下的各版本爬虫
http://127.0.0.1:6800/delproject.json(post方式,data={“project”:myproject})
-------------------