Scrapyd 項目爬蟲部署


scrapyd是一個用於部署和運行scrapy爬蟲的程序,它允許你通過JSON API來部署爬蟲項目和控制爬蟲運行
scrapyd是一個守護進程,監聽爬蟲的運行和請求,然后啟動進程來執行它們
安裝擴展
pip install scrapyd
pip install scrapyd-client
 
首先修改項目的 scrapy.cfg 文件
原始內容為
[deploy]
#url = http://localhost:6800/
project = funsion
 
修改為
[deploy:funsion]
url = http://localhost:6800/
project = funsion
 
scrapyd部署的核心三步驟(藍色加粗內容)
執行 nohup scrapyd > /dev/null 2>&1 &
 
檢查配置, 列出當前可用的服務器 scrapyd-deploy -l

列出服務器上所有的項目, 需要確保服務器上的scrapyd命令正在執行,否則會報連接失敗.首次運行的話,可以看到只有一個default項目
scrapyd-deploy -L funsion
 
在爬蟲項目根目錄下執行下面的命令, 其中target為上一步配置的服務器名稱,project為項目名稱,可以根據實際情況自己指定。
用法 scrapyd-deploy <target> -p <project>

在項目根目 錄下輸入 scrapyd-deploy funsion -p funsion
得到以下結果
Packing version 1496109534
Deploying to project "funsion" in http://localhost:6800/addversion.json
Server response (200):
{"status": "ok", "project": "funsion", "version": "1496109534", "spiders": 1, "node_name": "localhost.localdomain"}

部署操作會打包你的當前項目,如果當前項目下有setup.py文件,就會使用它,沒有的會就會自動創建一個。
如果后期項目需要打包的話,可以根據自己的需要修改里面的信息,也可以暫時不管它。
從返回的結果里面,我們可以看到部署的狀態,項目名稱,版本號和爬蟲個數,以及當前的主機名稱
檢查部署結果 scrapyd-deploy -L funsion

 
調度爬蟲,在項目根目錄下
curl http://localhost:6800/schedule.json -d project=funsion -d spider=funsion
 
如果配置了多個服務器的話,可以將項目直接部署到多台服務器
scrapyd-deploy -a -p <project>
 
補充說明:
curl http://localhost:6800/listprojects.json    (列出項目)
curl http://localhost:6800/listspiders.json?project=funsion    (列出爬蟲)
curl http://localhost:6800/listjobs.json?project=funsion    (列出job)
curl http://localhost:6800/cancel.json -d project=myproject -d job=你的jobId    (取消爬蟲)
 
然后訪問 http://localhost:6800/jobs 可以查詢圖像化界面,成功后應該和下圖類似
 
更多參考
http://scrapyd.readthedocs.io/en/stable/   (Scrapyd 文檔
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM