python之Scrapyd部署爬蟲專案(虛擬環境)
1、新建虛擬環境(方便管理),在虛擬環境中安裝scrapy專案需要使用到的包
進入虛擬環境使用pip將所需包安裝完成
2、開啟命令列工具執行pip install scrapyd
3、輸入scrapyd啟動scrapyd服務,在瀏覽器輸入127.0.0.1:6800 即可檢視是否成功啟動服務
4、如果連線成功先關閉服務,自己在D盤下新建一個資料夾,名稱自定義如:ScrapydProject
然後進入該資料夾,shift+右鍵 選擇在此處開啟命令列工具,輸入scrapyd命令,執行完成後會在該資料夾中新建一個dbs空資料夾,用來存放部署到scrapyd服務上的專案的資料庫檔案。
注:你在哪個環境下執行的Scrapyd命令,那你的Scrapyd服務使用的就是那個環境,所以你專案使用的哪個環境,你就在哪個環境下執行Scrapyd,開啟服務,避免因為環境不一致,導致出錯
5、安裝scrapyd-client模組。scrapyd-client模組是專門打包scrapy爬蟲專案到scrapyd服務中的,進入虛擬環境,執行命令pip install scrapyd-client,安裝完成後,在虛擬環境的scripts中會出現scrapyd-deploy無後綴檔案,這個scrapyd-deploy無後綴檔案是啟動檔案,在Linux系統下可以執行,在windows下是不能執行的,所以我們需要編輯一下使其在windows可以執行。
6、新建一個scrapyed-deploy.bat檔案,右鍵選擇編輯,輸入一下配置:
@echo off
"F:\test\vritualenv\pachong\Scripts\python.exe" "F:\test\vritualenv\pachong\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可識別路徑
11、開始打包scrapy專案到scrapyd了,用命令結合scrapy專案中的scrapy.cfg檔案設定來打包
執行打包命令: scrapyd-deploy 部署名稱 -p 專案名稱
如:scrapyd-deploy cxg -p myspider2
出現這個則說明部署成功:
如果是這樣的話:
可能是瀏覽器使用了代理,關閉代理重新啟動scrapyd服務,在此執行上面的打包命令即可。
curl http://localhost:6800/schedule.json -d project = myspider2 -d spider = zl
注:windows下需要安裝curl,可在官網下載
還需要在系統環境變數中進行配置,在 path 中新增環境變數:
在系統高階環境變數中,配置:
CURL_HOME
解壓的目錄
path 追加 ;%CURL_HOME%\I386