使用webf发布可以进行:
1、版本管理
2、通过API来控制调度爬虫
3、web查看日志和爬虫状态
1、在工程中requirements.txt加入:
scrapyd
scrapyd-client
2、按照提示安装这两个包。
3、将scrapy.cfg修改如下:
[settings]
default = compass.settings
[deploy]
url = http://localhost:6800/
project = compass
4、启动服务【可以在任意目录执行不必在项目根目录】:
E:\work\proc\compass>venv\Scripts\activate
执行:scrapyd
再开启一个窗口:
E:\work\proc\compass>venv\Scripts\activate
(venv) E:\work\proc\compass>scrapyd-deploy -l
default http://localhost:6800/
【注意要在scrapy.cfg的同级目录下,因为要识别scrapy.cfg文件】
(venv) E:\work\proc\compass>scrapyd-deploy
返回结果:
{"node_name": "WIN-I8GV5GTLL9A", "status": "ok", "project": "compass", "version": "1542787387", "spiders": 2}
curl http://localhost:6800/schedule.json -d project=compass -d spider=weather-spider
然后查看web界面:http://localhost:6800/
点击日志查看:
调度爬虫
curl http://localhost:6800/schedule.json -d project=compass -d spider=weather-spider
# 带上参数
curl http://localhost:6800/schedule.json -d project=compass -d spider=weather-spider -d setting=DOWNLOAD_DELAY=2 -d arg1=val1
取消运行
curl http://localhost:6800/cancel.json -d project=compass -d job=2bffadb6ed6411e883454ccc6aa82f02
列出项目
curl http://localhost:6800/listprojects.json
列出版本
curl http://localhost:6800/listversions.json?project=compass
列出爬虫
curl http://localhost:6800/listspiders.json?project=compass
列出job
curl http://localhost:6800/listjobs.json?project=compass
删除版本
curl http://localhost:6800/delversion.json -d project=compass -d version==1542786769
删除项目
curl http://localhost:6800/delproject.json -d project=compass