Scrapyd的安裝與部署

本文的目的在於介紹 scrapyd 的安裝與使用, 爲節省篇幅,scrapy 的安裝與 scrapy爬蟲的開發在本文不予介紹,默認已經開發完成,當然,本機的Python環境變量也是配置好的。筆者所用的環境如下:
系統:Windows 10
Python:Python 3.6.3
Scrapy:Scrapy 1.5.0

筆者使用已經編寫好的scrapy爬蟲來介紹 Scrapyd的使用。 
項目名稱:Announcement
爬蟲名稱:AnnouncementSpider
項目路徑:D:\Code\SpiderProject\Announcement
下面正式開始。
一、Scrapyd 的安裝。
    需要安裝兩個組件: scrapyd  與  scrapyd-client。
    安裝方法:
           1、通過pip安裝,打開cmd工具,分別使用下面兩個命令可以安裝 scrapyd 和 scrapyd-client:
pip install scrapyd
pip install scrapyd-client
使用pip安裝簡單方便,但是pip源上的版本並不一定是最新版本。所以建議使用第二種方式。
          2、從 GitHub 上下載最新源碼安裝。下載地址:
                Scrapyd: https://github.com/scrapy/scrapyd
                Scrapyd-client: https://github.com/scrapy/scrapyd-client
                下載完成後,隨便解壓到某個目錄(比如 D盤根目錄),打開cmd工具,進入到解壓的目錄下:D:\scrapyd-master , 執行命令:
python setup.py install 
即可完成安裝。 scrapyd-client的安裝類同。安裝完成後, 可以使用 pip list 查看是否安裝完成 , 也可以通過下面這種方式:
出現如圖的提示時,說明scrapyd 啓動成功。此時可以通過瀏覽器訪問scrapyd的web監控頁面 。

補充:scrapyd默認的配置文件在:
D:\Program Files\Python3.6.3\Lib\site-packages\scrapyd-1.2.0-py3.6.egg\scrapyd\default_scrapyd.conf


二、爬蟲在scrapyd上的部署
1、進入爬蟲工程的根目錄:D:\Code\SpiderProject\Announcement ,修改爬蟲工程的配置文件 scrapyd.cfg 。把 url 前面的“#”刪除, 即使配置生效。

2、在第一步的安裝過程中,已經成功啓動了scrapyd ,下面就要把爬蟲發佈到scrapyd。
    打開cmd工具,進入爬蟲項目的根目錄,筆者的根目錄是:D:\Code\SpiderProject\Announcement ,使用以下命令進行部署
scrapyd-deploy -p Announcement 

3、啓動爬蟲。爬蟲的啓動是使用 curl 進行的(沒有安裝curl的,請自行百度安裝)。啓動命令: 
curl http://localhost:6800/schedule.json -d project=Announcement -d spider=AnnouncementSpider
啓動後,可以在瀏覽器中看到爬蟲的運行狀況:

附其它的常用命令:
啓動爬蟲: 
curl http://localhost:6800/schedule.json -d project=Announcement -d spider=AnnouncementSpider
終止爬蟲:
curl http://localhost:6800/cancel.json -d project=Announcement -d job=7fc4b4ae42da11e89a2c3cf86207e325
jobID可以從web頁面中獲取。

列出工程:

curl http://localhost:6800/listprojects.json

列出爬蟲:

curl http://localhost:6800/listspiders.json?project=Announcement

列出job:

curl http://localhost:6800/listjobs.json?project=Announcement

列出版本:

curl http://localhost:6800/listversions.json?project=Announcement

添加版本(網絡摘取,未驗證):

curl http://localhost:6800/addversion.json -F project=Announcement -F       version=r23 -F [email protected]

刪除項目(網絡摘取,未驗證):

curl http://localhost:6800/delproject.json -d project=Announcement

刪除版本(網絡摘取,未驗證):

curl http://localhost:6800/delversion.json -d project=Announcement -d version=r99
刪除版本前,應先查看版本



其實,使用 scrapy crawl命令也可以執行爬蟲, 爲什麼推薦使用scrapyd來控制呢? 原因有以下幾點:

1、可以遠程啓動、停止、刪除爬蟲。也正因爲此,scrapyd 是分佈式爬蟲的解決方案之一。
2、可以有效避免爬蟲源碼被別人看到。
3、有版本控制。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章