本地部署
#step1: 安装scrapyd、scrapyd-client
pip install scrapyd
pip install scrapyd-client
#step2:修改scrapy.cfg文件
其中,server-bull是自定义的名字,url是运行scrapyd的服务器的地址,6800是scrapyd的默认监听端口,project是此爬虫所在的文件夹。
[deploy:server-bull]
url = http://localhost:6800/
project = bull
#step3: 打包爬虫文件
scrapyd-deploy <target> -p <project> --version <version>
scrapyd-deploy server-bull -p bull --version V1
target就是前面配置文件里deploy后面的的target名字。
project 可以随意定义,跟爬虫的工程名字无关。
version自定义版本号,不写的话默认为当前时间戳。
#step4: 启动爬虫
curl http://localhost:6800/schedule.json -d project=<project> -d spider=<spider>
curl http://localhost:6800/schedule.json -d project=bull -d spider=bullspide
project是此爬虫所在的文件夹。
spider就是爬虫name。
远程部署
默认scrapyd启动是通过scrapyd命令就可以直接启动,bind绑定的ip地址是127.0.0.1端口是:6800,为了远程可以访问,需修该default_scrapyd.conf文件将ip地址设置为0.0.0.0
即将
bind_address = 127.0.0.1
改为
bind_address = 0.0.0.0
一般地
/usr/local/lib/python3.6/dist-packages/scrapyd/default_scrapyd.conf #ubuntu16
/usr/lib/python2.7/site-packages/scrapyd/default_scrapyd.conf #centos7
相对应的IP地址换成远程主机的IP
接口调用
-
获取状态
curl http://127.0.0.1:6800/daemonstatus.json
-
调度爬虫
curl http://localhost:6800/schedule.json -d project=project -d spider=spider
-
带上参数
curl http://localhost:6800/schedule.json -d project=project -d spider=spider -d setting=DOWNLOAD_DELAY=2 -d arg1=val1
-
取消运行
curl http://localhost:6800/cancel.json -d project=project -d job=6487ec79947edab326d6db28a2d86511e8247444
-
列出项目
curl http://localhost:6800/listprojects.json
-
列出版本
curl http://localhost:6800/listversions.json?project=project
-
列出爬虫
curl http://localhost:6800/listspiders.json?project=project
-
列出job
curl http://localhost:6800/listjobs.json?project=project
-
删除版本
curl http://localhost:6800/delversion.json -d project=project -d version=v1
-
删除项目
curl http://localhost:6800/delproject.json -d project=project
网友评论