1. 程式人生 > >scrapyd部署爬蟲專案

scrapyd部署爬蟲專案

功能:它就相當於是一個伺服器,用於將自己本地的爬蟲程式碼,打包上傳到伺服器上,讓這個爬蟲在伺服器上執行,可以實現對爬蟲的遠端管理。(遠端啟動爬蟲,遠端關閉爬蟲,遠端檢視爬蟲的一些日誌。) 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進行打包。 在這裡插入圖片描述

修改scrapy.cfg檔案: 在這裡插入圖片描述 5.上述的scrapyd服務視窗cmd不要關閉,再新開啟一個cmd視窗,用於使用scrapyd-client客戶端連線scrapyd服務。 ①進入專案根目錄(我把jobbolespider專案放在桌面上),然後輸入scrapyd-deploy命令,檢視scrapyd-client客戶端命令能否正常使用; 注意:專案必須是乾淨的,裡面沒有分散式,代理池。否則後面會報錯) 程式碼:scrapyd-deploy 在這裡插入圖片描述檢視當前可用於打包上傳的爬蟲專案; 程式碼:scrapyd-deploy -l 在這裡插入圖片描述 ③使用scrapyd-deploy命令打包上傳專案; 程式碼:Scrapyd-deploy bole -p jobbolespider
引數: Status: “ok”/”error” 專案上傳狀態 Project: 上傳的專案名稱 Version: 專案的版本號,值是時間戳 Spiders: 專案Project包含的爬蟲個數 在這裡插入圖片描述 ④通過API介面,檢視已經上傳至scrapyd服務的專案; 程式碼: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:啟動爬蟲的時候分配的 在這裡插入圖片描述 在這裡插入圖片描述