scrapy发布并通过web接口调用

接着上一篇:windows下搭建scrapy开发环境​​​​​​

使用webf发布可以进行:

1、版本管理

2、通过API来控制调度爬虫

3、web查看日志和爬虫状态

1、发布爬虫

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

scrapy发布并通过web接口调用_第1张图片

再开启一个窗口:

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}

否则:

2、运行爬虫

curl http://localhost:6800/schedule.json -d project=compass -d spider=weather-spider

然后查看web界面:http://localhost:6800/

scrapy发布并通过web接口调用_第2张图片

点击日志查看:

scrapy发布并通过web接口调用_第3张图片

 

3、更多api:

调度爬虫
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

 

你可能感兴趣的:(python)