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

ubuntu下scrapyd部署爬蟲專案

scrapyd部署爬蟲的優勢:
1、方便監控爬蟲的實時執行狀態,也可以通過介面呼叫開發自己的監控爬蟲的頁面
2、方便統一管理,可以同時啟動或關閉多個爬蟲
3、擁有版本控制,如果爬蟲出現了不可逆的錯誤,可以通過介面恢復到之前的任意版本

注意:在安裝scrapyd之前要確保你的環境能夠執行scrapy(無論整合環境還在虛擬環境)
在這裡我使用的是虛擬環境API部署(上傳)工程,並且控制工程中的爬蟲。

1.安裝scrapyd

pip install scrapyd
1
2.建立一個目錄用於存放爬蟲專案的資料檔案

3 cd到建立的目錄下,之所以到這個目錄下執行scrapyd是因為執行時候會在這個目錄下產生一個dbs的檔案
4 執行scrapyd

 

目錄下會出現dbs一個資料夾

 

瀏覽器訪問 127.0.0.1:6800

 

5 安裝scrapyd-clien 用於打包

6.拷貝scrapyd-deploy 到爬蟲專案下

 

 

 

7 修改專案中的scrapy.cfg 檔案

 

8.執行scrapyd-deploy -l 啟動服務,可以看到設定的名稱

 

9.開始打包前,執行一個命令:scrapy list ,這個命令執行成功說明可以打包了,如果沒執行成功說明還有工作沒完成


返回了爬蟲名稱說明一切ok了.

10.執行打包命令: scrapyd-deploy 部署名稱 -p 專案名稱

 

 

 

此時說明打包成功

11.輸入開啟爬蟲命令
curl http://localhost:6800/schedule.json -d project=專案名稱 -d spider=爬蟲名稱
如果缺少curl, 那麼就 sudo apt install surl 安裝

 

 

 

停止爬蟲
curl http://localhost:6800/cancel.json -d project=scrapy專案名稱 -d job=執行ID

刪除scrapy專案
注意:一般刪除scrapy專案,需要先執行命令停止專案下在遠行的爬蟲
curl http://localhost:6800/delproject.json -d project=scrapy專案名稱

檢視有多少個scrapy專案在api中
curl http://localhost:6800/listprojects.json

檢視指定的scrapy專案中有多少個爬蟲
curl http://localhost:6800/listspiders.json?project=scrapy專案名稱

總結幾個請求url
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})
-------------------