scrapyd部署爬蟲專案
阿新 • • 發佈:2018-12-12
功能:它就相當於是一個伺服器,用於將自己本地的爬蟲程式碼,打包上傳到伺服器上,讓這個爬蟲在伺服器上執行,可以實現對爬蟲的遠端管理。(遠端啟動爬蟲,遠端關閉爬蟲,遠端檢視爬蟲的一些日誌。)
1.服務端Scrapd的安裝:Pip install scrapyd(版本為1.2.0)
2.如何將本地的爬蟲專案Deploying(打包),上傳至scrapyd這個服務中。
①scrapyd提供了一個客戶端工具,就是scrapyd-client,使用這個工具對scrapyd這個服務進行操作,比如:向scrapyd服務打包上傳專案。scrapyd-client類似於redis-cli.exe、mongodb資料庫的client。
scrapyd-client下載地址: https://github.com/scrapy/scrapyd-client
②客戶端scrapyd-client的安裝:
pip install scrapyd-client(版本為1.1.0)
注意:服務端scrapyd(1.2)和客戶端scrapyd-client(1.1)安裝的版本一定要保持一致.
所以在cmd中應該輸入Pip install scrapyd-client==1.2.0a1
3.上述服務和客戶端安裝好之後,可以啟動scrapyd這個服務了,服務啟動之後,不要關閉。 訪問127.0.0.1:6800網址,出現以下頁面表示成功啟動scrapyd服務: 4.配置爬蟲專案,完成以後,再通過addversion.json進行打包。
scrapyd-deploy
②檢視當前可用於打包上傳的爬蟲專案;
程式碼:scrapyd-deploy -l
③使用scrapyd-deploy命令打包上傳專案;
程式碼:Scrapyd-deploy bole -p jobbolespider
curl http://localhost:6800/listprojects.json
鍵值:
Projects: [] 所有已經上傳的爬蟲專案,都會顯示在這個列表中。
⑤通過API介面,檢視某一個專案中的所有爬蟲名稱;
程式碼:curl http://localhost:6800/listspiders.json?project=jobbolespider
注意:如果專案上傳失敗,需要先將爬蟲專案資料夾中打包生成的檔案(build、project.egg-info、setup.py)刪除,然後再重新打包上傳。(重複③)
⑥通過API介面,啟動爬蟲專案;
程式碼:curl http://localhost:6800/schedule.json -d porject=爬蟲專案名稱 -d spider=專案中某一個爬蟲名稱
鍵值:
Jobid: 是根據專案(jobbolespider)和爬蟲(bole)生成的一個id,將來用於取消爬蟲任務。
⑦如果上傳的專案無法執行,在本地調整程式碼以後,需要重新打包上傳。將失效的專案刪除。
程式碼:curl http://localhost:6800/delproject.json -d project=jobbolespider
⑧通過API介面,取消爬蟲任務;
程式碼:curl http://localhost:6800/cancel.json -d project=jobbolespider -d job=xxxxxxxxxxxxxxxxxxx
引數:
Jobid:啟動爬蟲的時候分配的