遠程服務端Scrapyd先要開啟
遠程服務器必須裝有scapyd,並開啟。
這里遠程服務開啟的端口和ip:
192.166.12.80:6800
客戶端配置和上傳
先修爬蟲項目文件scrapy.cfg:如下圖
cd 到爬蟲項目文件夾下,后執行:
scrapyd-deploy # 上傳
scrapyd-deploy -l # 查看
打包項目
1、打包前先查看項目下的爬蟲文件:
說明可以開始打包了
2.執行打包命令:
scrapyd-deploy 部署名稱 -p 項目名稱
上面表示打包成功。
以下是可能出現的問題,以及解決方案:
如果出現后端報錯和scrapyd前端頁面報錯,解決方案:
scrapyd 前端報錯:
修改遠程服務器(192.168.12.80)上的Twisted的版本改為 18.9.0
pip3 install Twisted==18.9.0
重啟 Scrapyd:
在訪問192.168.12.80:6800/jobs,正常顯示:
3.上傳運行爬蟲
curl http://遠程ip:6800/schedule.json -d project=項目名稱 -d spider=爬蟲名稱
如:
curl http://192.168.12.80:6800/schedule.json -d project=circ -d spider=bjh
說明部署成功:
scrapyd部署已經完成了。
管理
1、停止爬蟲
curl http://localhost:6800/cancel.json -d project=scrapy項目名稱 -d job=運行ID
2.刪除scrapy項目
注意:一般刪除scrapy項目,需要先執行命令停止項目下在遠行的爬蟲
curl http://localhost:6800/delproject.json -d project=scrapy項目名稱
3.查看有多少個scrapy項目在api中
curl http://localhost:6800/listprojects.json
4.查看指定的scrapy項目中有多少個爬蟲
curl http://localhost:6800/listspiders.json?project=scrapy項目名稱
5總結幾個請求url,通過在瀏覽器輸入,也可以監控爬蟲進程。
例子:地址欄訪問 :http://192.168.12.80:6800/daemonstatus.json,獲取到一下頁面
1、獲取狀態 http://127.0.0.1:6800/daemonstatus.json 2、獲取項目列表 http://127.0.0.1:6800/listprojects.json 3、獲取項目下已發布的爬蟲列表 http://127.0.0.1:6800/listspiders.json?project=myproject 4、獲取項目下已發布的爬蟲版本列表 http://127.0.0.1:6800/listversions.json?project=myproject 5、獲取爬蟲運行狀態 http://127.0.0.1:6800/listjobs.json?project=myproject 6、啟動服務器上某一爬蟲(必須是已發布到服務器的爬蟲) http://127.0.0.1:6800/schedule.json (post方式,data={“project”:myproject,“spider”:myspider}) 7、刪除某一版本爬蟲 http://127.0.0.1:6800/delversion.json (post方式,data={“project”:myproject,“version”:myversion}) 8、刪除某一工程,包括該工程下的各版本爬蟲 http://127.0.0.1:6800/delproject.json(post方式,data={“project”:myproject})