1. 程式人生 > >python分散式爬蟲scrapyd部署以及gerapy的使用流程

python分散式爬蟲scrapyd部署以及gerapy的使用流程

新建虛擬環境(方便管理),也可以直接執行第一步。注意:windows系統和虛擬環境要分清,進入指定的環境下進行操作,否則會出現錯誤 1、開啟命令列工具執行pip install scrapyd  用pip 命令pip  install  scrapyd包在這裡插入圖片描述 2、 等待安裝完成 , 輸入scrapyd啟動scrapyd服務 出現下面的內容則表明服務開啟成功 在這裡插入圖片描述 3、在瀏覽器輸入127.0.0.1:6800 即可檢視 在這裡插入圖片描述 4、如果連線成功先關閉服務,自己在非C盤下新建一個資料夾,名稱自定義如:scrapydTest 然後進入該資料夾,shift+右鍵 開啟命令列工具,輸入scrapyd執行,執行完成後會新建一個dbs空資料夾,用來存放爬蟲專案的資料檔案 在這裡插入圖片描述

5、安裝scrapyd-client模組。scrapyd-client模組是專門打包scrapy爬蟲專案到scrapyd服務中的,進入虛擬環境,執行命令pip install scrapyd-client==1.1.0,安裝完成後,在虛擬環境的scripts中會出現scrapyd-deploy無後綴檔案,這個scrapyd-deploy無後綴檔案是啟動檔案,在Linux系統下可以執行,在windows下是不能執行的,所以我們需要編輯一下使其在windows可以執行 在這裡插入圖片描述 6、新建一個scrapyd-deploy.bat檔案,右鍵選擇編輯,輸入以下配置,注意:兩個路徑之間是空格,一定要使用雙引號。單引號的話會錯誤。
@echo off “C:\Users\qianzhen\Envs\scrapySpider\Scripts\python.exe” “C:\Users\qianzhen\Envs\scrapySpider\Scripts\scrapyd-deploy” %1 %2 %3 %4 %5 %6 %7 %8 %9/ 7、進入虛擬環境,進入到你的爬蟲專案中,進入帶有scrapy.cfg檔案的目錄,執行scrapyd-deploy,測試scrapyd-deploy是否可以執行,如果出現以下則正常 在這裡插入圖片描述 8、開啟爬蟲專案中的scrapy.cfg檔案,這個檔案就是給scrapyd-deploy使用的 將url這行程式碼解掉註釋,並且給設定你的部署名稱 在這裡插入圖片描述
9、再次執行scrapyd-deploy -l 啟動服務,可以看到設定的名稱 在這裡插入圖片描述 10、開始打包前,執行命令:scrapy list,這個命令執行成功說明可以打包了,如果沒執行成功說明還有工作沒完成 注意:執行 scrapy list 命令的時候很有可能出現錯誤,如果是python無法找到scrapy專案,需要在scrapy專案裡的settings.py配置檔案裡設定成python可識別路徑

如果錯誤提示,什麼遠端計算機拒絕,說明你的scrapy專案有連結遠端計算機,如連結資料庫或者elasticsearch(搜尋引擎)之類的,需要先檢查伺服器是否開啟,將連結伺服器啟動 執行 scrapy list 命令返回了爬蟲名稱說明一切ok了,如下圖: 在這裡插入圖片描述 11、執行打包命令: scrapyd-deploy 部署名稱 -p 專案名稱 如下顯示錶示scrapy專案打包成功 在這裡插入圖片描述 如果出現 在這裡插入圖片描述 版本不對,建議安裝pip install scrapyd==1.1.1,直到你的egg資料夾中有專案即可 curl http://localhost:6800/schedule.json -d project=專案名稱 -d spider=爬蟲名稱 執行後,如果出現 在這裡插入圖片描述 則爬蟲執行成功 可以去網頁中127.0.0.1::6800檢視爬蟲執行狀態 在這裡插入圖片描述 到此為止,scrapyd部署已經完成了,但是如果我們想要控制爬蟲是很難的,下面幾個命令是控制爬蟲的程序,不妨試一試。

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

總結幾個請求url,通過在瀏覽器輸入,也可以監控爬蟲程序。

這樣輸入命令是不是很繁瑣,命令太多不容易記,命令輸入錯誤,得不到想要的結果,你在學習中是否遇到這種問題,因此,gerapy就誕生了,這個工具可以讓你的工作更加便捷、高效(不推薦在工作中使用此工具)

配置gerapy

1>建立資料夾,存放部署的專案 2>進入資料夾,gerapy init 初始化 3>進入gerapy資料夾,gerapy migrate建立資料表 4>gerapy runserver 啟動專案 5>瀏覽器輸入http://127.0.0.1:8000就可以使用