scrapy项目的部署
scrapy部署首先要用到scrapyd和scrapyd-client
https://github.com/scrapy/scrapyd https://github.com/scrapy/scrapyd-client
安装完成后启动scrapyd 后台运行!(就是在cmd中输入scrapyd)
这时访问 http://127.0.0.1:6800/ 打开之后
这样scrapyd就打开成功啦 接下来 在开启一个Terminal窗口(PyCharm里操作)
项目的上传!
修改爬虫中的scrapy.cfg 文件
通过Terminal窗口 进入到爬虫文件夹
输入命令 scrapyd-deploy -a -p Missdp(就是scrapy.cfg配置的文件项目)
在这里如果scrapyd-deploy命令报错的话!那就找到这个文件复制成.bat文件里面写 就应该可以用啦....?!(scrapyd-deploy.bat)
@echo off
"D:\Python36\python3.exe" "D:\Python36\Scripts\scrapyd-deploy" %1 %2 %3 %4 %5 %6 %7 %8 %9
这时访问 http://127.0.0.1:6800/ 打开
就可以看到这个我们已经上传了 我们的项目 接下来让爬虫动起来
https://curl.haxx.se/download.html 先下载开动机器 curl
完成后配置环境变量
命令行输入可用!
启动我们的项目
curl http://localhost:6800/schedule.json -d project=ErCar -d spider=ErCar
查看网页 http://127.0.0.1:6800/
jobs 里面就可以看到啦!!!
scrpyd其他API调用
官方文档:https://scrapyd.readthedocs.io/en/stable/api.html
curl http://localhost:6800/schedule.json -d project=项目名称 -d spider=爬虫名称
停止爬虫
curl http://localhost:6800/cancel.json -d project=scrapy项目名称 -d job=运行ID
运行ID:http://localhost:6800/jobs 这个网页下表格job列
# 查看多少个scrapy项目早api中
curl http://localhost:6800/listprojects.json
{"node_name": "DESKTOP-SCIMUGR", "status": "ok", "projects": ["ErCar", "default"]}
# 获取状态
curl http://localhost:6800/daemonstatus.json
{"node_name": "DESKTOP-SCIMUGR", "status": "ok", "pending": 0, "running": 0, "finished": 1}
# 获取项目下已发布的爬虫列表
curl http://localhost:6800/listspiders.json?project=ErCar
{"node_name": "DESKTOP-SCIMUGR", "status": "ok", "spiders": ["ErCar"]}
# 获取项目下已发布的爬虫版本列表
curl http://localhost:6800/listversions.json?project=ErCar
{"node_name": "DESKTOP-SCIMUGR", "status": "ok", "versions": ["1547690641", "1547691493", "1547691776"]}
# 获取爬虫运行状态
curl http://localhost:6800/listjobs.json?project=ErCar
{"node_name": "DESKTOP-SCIMUGR", "status": "ok", "pending": [], "running": [], "finished": [{"id": "ec5ab302
19fe11e9b7b670c94eea2413", "spider": "ErCar", "start_time": "2019-01-17 10:23:49.117116", "end_time": "2019-
01-17 10:24:54.865487"}]}
# 删除某一版本爬虫
curl http://localhost:6800/delversion.json -d project=ErCar -d version=1547691493
# 删除某一工程,包括该工程下的各版本爬虫
curl http://localhost:6800/delproject.json -d project=ErCar
{"node_name": "DESKTOP-SCIMUGR", "status": "ok"}
到这里是不是应该结束啦=.=!!