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>html

在項目根目 錄下輸入 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 funsionnode

 
調度爬蟲,在項目根目錄下
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 文檔
相關文章
相關標籤/搜索