本地部署
#step1: 安裝scrapyd、scrapyd-client
pip install scrapyd
pip install scrapyd-client
#step2:修改scrapy.cfg文件
其中,server-bull是自定義的名字,url是運(yùn)行scrapyd的服務(wù)器的地址,6800是scrapyd的默認(rèn)監(jiān)聽(tīng)端口,project是此爬蟲(chóng)所在的文件夾翰舌。
[deploy:server-bull]
url = http://localhost:6800/
project = bull
#step3: 打包爬蟲(chóng)文件
scrapyd-deploy <target> -p <project> --version <version>
scrapyd-deploy server-bull -p bull --version V1
target就是前面配置文件里deploy后面的的target名字。
project 可以隨意定義冬骚,跟爬蟲(chóng)的工程名字無(wú)關(guān)椅贱。
version自定義版本號(hào),不寫(xiě)的話默認(rèn)為當(dāng)前時(shí)間戳只冻。
#step4: 啟動(dòng)爬蟲(chóng)
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是此爬蟲(chóng)所在的文件夾庇麦。
spider就是爬蟲(chóng)name。
遠(yuǎn)程部署
默認(rèn)scrapyd啟動(dòng)是通過(guò)scrapyd命令就可以直接啟動(dòng)喜德,bind綁定的ip地址是127.0.0.1端口是:6800山橄,為了遠(yuǎn)程可以訪問(wèn),需修該default_scrapyd.conf文件將ip地址設(shè)置為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
相對(duì)應(yīng)的IP地址換成遠(yuǎn)程主機(jī)的IP
接口調(diào)用
獲取狀態(tài)
curl http://127.0.0.1:6800/daemonstatus.json
調(diào)度爬蟲(chóng)
curl http://localhost:6800/schedule.json -d project=project -d spider=spider
帶上參數(shù)
curl http://localhost:6800/schedule.json -d project=project -d spider=spider -d setting=DOWNLOAD_DELAY=2 -d arg1=val1
取消運(yùn)行
curl http://localhost:6800/cancel.json -d project=project -d job=6487ec79947edab326d6db28a2d86511e8247444
列出項(xiàng)目
curl http://localhost:6800/listprojects.json
列出版本
curl http://localhost:6800/listversions.json?project=project
列出爬蟲(chóng)
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
刪除項(xiàng)目
curl http://localhost:6800/delproject.json -d project=project