1. 程式人生 > 實用技巧 >手把手教你使用爬蟲管理工具|Scrapyd的使用

手把手教你使用爬蟲管理工具|Scrapyd的使用

Scrapyd-網頁版分佈爬蟲管理器

blob.png

scrapyd英文文件:https://scrapyd.readthedocs.io/en/stable/

scrapyd中文文件:https://piaosanlang.gitbooks.io/spiders/05day/section5.3.html

專案地址:https://github.com/scrapy/scrapyd

前言

今天介紹的是scrapyd,是scrapy專案下的一個子專案,主要是用來便於管理分散式爬蟲,根據上一篇分散式scrapy爬蟲我們可以知道,我們寫好分散式爬蟲之後往往需要放到多個爬蟲伺服器上,當然也是可以放在一個伺服器上,但是多個爬蟲服務同時開啟管理起來就比較麻煩,今天介紹的scrapyd就是用來管理多個並行爬蟲的工具。

準備

  • 電腦一臺

  • 伺服器一臺(也可以不用)

  • 之前的scrapy專案----news

scarpyd實戰案例

1.安裝環境

在windows環境下使用pip intsall scrapyd-client安裝scrapyd客戶端

blob.png

之後在爬蟲伺服器端使用pip install scrapyd安裝伺服器端(我是用的是linux環境做伺服器,linux的具體操作可以使看之前的推文linux教程)

blob.png

在客戶端找到python安裝路徑裡的script檔案,進入後你會發現裡邊有一個scrapyd-deploy是沒有後綴的

blob.png

在這個路徑下新建一個bat檔案,在裡邊輸入以下內容

blob.png

之後儲存即可。

2.專案上傳

在上傳之前需要先修改一下news爬蟲的內容,在爬蟲專案根目錄下的scrapy.cfg。

blob.png

之後開啟cmd進到爬蟲的目錄之後輸入以下命令:

blob.png

之後就將專案上傳到伺服器上了,然後在伺服器輸入scrapyd就打開了scrapyd伺服器了。

3.啟動爬蟲

在客戶端cmd輸入:

curl http://伺服器ip:6800/schedule.json -d project=工程名(news) -d spider=爬蟲名(news_spider)

blob.png

爬蟲就自動開啟了

4.關閉爬蟲:

在客戶端cmd輸入:

curl http://爬蟲ip:6800/cancel.json -d project=news -d job=jobid(後邊會說明)

5.效果展示

blob.png

blob.png

blob.png4953377b5117027867dca281bdcb851.png

jobid相當於每個開啟的爬蟲的一個身份證,結束爬蟲的時候需要用到。

常見問題

問題一:在客戶端打不開伺服器端管理網頁

blob.png

發現是本地環回地址

解決思路:在伺服器端使用命令find / -name scrapyd.conf,找到配置檔案之後,進行修改,將bind_address改成0.0.0.0(vi操作在linux入門中第三篇)

blob.png

問題二:使用瀏覽器訪問伺服器地址的時候始終無法訪問

解決思路:不要使用2345瀏覽器或者其他瀏覽器訪問,換成Chrome就可以解決問題。

總結

在爬蟲較多比較難管理的時候可是考慮使用scrapyd進行管理,管理起來比較方便,並且部署起來難度也不是很大。並且可以使用Gerapy和scrapyd相結合來實現視覺化的效果。

Colorful Neon Marble Gaming Youtube Channel Art.jpg