管理scrapy爬虫的部署和运行的服务scrapyd

本地部署

#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  -p  --version 
scrapyd-deploy server-bull -p bull --version V1

target就是前面配置文件里deploy后面的的target名字。
project 可以随意定义,跟爬虫的工程名字无关。
version自定义版本号,不写的话默认为当前时间戳。

#step4: 启动爬虫

curl http://localhost:6800/schedule.json -d project= -d 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

你可能感兴趣的:(管理scrapy爬虫的部署和运行的服务scrapyd)