分佈式爬蟲的部署之Scrapyd-Client的使用

這裏有現成的工具來完成部署過程,它叫做Scrapyd-Client。本節將簡單介紹使用Scrapyd-Client部署Scrapy項目的方法。
html

1、準備工做

請先確保Scrapyd-Client已經正確安裝。
node

2、Scrapyd-Client 的功能

Scrapyd-Client爲了方便Scrapy項目的部署,提供以下兩個功能。
json

  • 將項目打包成Egg文件。bash

  • 將打包生成的Egg文件經過addversion.json接口部署到Scrapyd上。微信

Scrapyd-Client幫咱們把部署所有實現了,咱們不須要再去關心Egg文件是怎樣生成的,也不須要再去讀Egg文件並請求接口上傳了,只須要執行一個命令便可一鍵部署。網絡

3、Scrapyd-Client 部署

要部署Scrapy項目,咱們首先須要修改項目的配置文件。例如以前寫的Scrapy微博爬蟲項目,在項目的第一層會有一個scrapy.cfg文件,它的內容以下:
scrapy

[settings]
default = weibo.settings

[deploy]
#url = http://localhost:6800/
project = weibo複製代碼

這裏須要配置一下deploy部分。例如咱們將項目部署到120.27.34.25的Scrapyd上,則修改內容以下:ide

[deploy]
url = http://120.27.34.25:6800/
project = weibo複製代碼

這樣咱們再在scrapy.cfg文件所在路徑執行以下命令:工具

scrapyd-deploy複製代碼

運行結果以下:ui

Packing version 1501682277
Deploying to project "weibo" in http://120.27.34.25:6800/addversion.json
Server response (200):
{"status": "ok", "spiders": 1, "node_name": "datacrawl-vm", "project": "weibo", "version": "1501682277"}複製代碼

返回的結果表示部署成功了。

項目版本默認爲當前時間戳。咱們也能夠指定項目版本,經過version參數傳遞便可。例如:

scrapyd-deploy --version 201707131455複製代碼

值得注意的是,在Python 3的Scrapyd 1.2.0版本中,版本號不能指定爲帶字母的字符串,它們必須爲純數字,不然會出現報錯。

若是有多臺主機,咱們能夠配置各臺主機的別名,修改配置文件爲:

[deploy:vm1]
url = http://120.27.34.24:6800/
project = weibo

[deploy:vm2]
url = http://139.217.26.30:6800/
project = weibo複製代碼

在此統一配置多臺主機,一臺主機對應一組配置,在deploy後面加上主機的別名便可。若是想將項目部署到IP爲139.217.26.30的vm2主機,咱們只須要執行以下命令:

scrapyd-deploy vm2複製代碼

如此一來,咱們只須要在scrapy.cfg文件中配置好各臺主機的Scrapyd地址,而後調用scrapyd-deploy命令加主機名稱便可實現部署。

若是Scrapyd設置了訪問限制,咱們能夠在配置文件中加入用戶名和密碼的配置,同時修改端口成Nginx代理端口。例如,在第1章咱們使用的是6801,那麼這裏就須要改爲6801,修改以下:

[deploy:vm1]
url = http://120.27.34.24:6801/
project = weibo
username = admin
password = admin

[deploy:vm2]
url = http://139.217.26.30:6801/
project = weibo
username = germey
password = germey複製代碼

經過加入usernamepassword字段,咱們就能夠在部署時自動進行Auth驗證,而後成功實現部署。

4、結語

本節介紹了利用Scrapyd-Client來方便地將項目部署到Scrapyd的過程,有了它部署再也不是麻煩事。


本資源首發於崔慶才的我的博客靜覓: Python3網絡爬蟲開發實戰教程 | 靜覓

如想了解更多爬蟲資訊,請關注個人我的微信公衆號:進擊的Coder

weixin.qq.com/r/5zsjOyvEZ… (二維碼自動識別)

相關文章
相關標籤/搜索