教你進行超簡單的scrapy可視化部署!!利用Spiderkeeper進行Scrapy可視化管理

NO IMAGE

本文章主要記錄在spiderkeeper中部署scrapy的整個過程,方便自己以後回看。

最近發現了一個可以部署scrapy項目的可視化的工具。

spiderkeeper的特徵:

  • 從儀表板管理蜘蛛。安排它們自動運行
  • 只需單擊一下即可部署scrapy項目
  • 顯示蜘蛛運行統計
  • 提供API

看起來就很誘人(其實主要還是看中它用起來簡單),下面開始本次文章的主題spiderkeeper

1.環境

首先是安裝模塊,這裡建議使用國內源,無它,三秒罷。

eg:pip install scrapy -i pypi.douban.com/simple

pip install scrapy
pip install scrapyd		# scrapyd服務
pip install scrapyd-client	# scrapyd0client 客戶端
pip install spiderkeeper	# scrapy可視化部署工具

安裝好模塊後,下邊來看具體配置。

2.配置

本文章主要說的是spiderkeeper–爬蟲監控spiderkeeperGithub鏈接,點擊即達。

2.1 啟動scrapyd服務

何為scrapydscrapyd文檔地址,點擊即達。

教你進行超簡單的scrapy可視化部署!!利用Spiderkeeper進行Scrapy可視化管理

翻譯過來就是:

Scrapyd是用於部署和運行Scrapy蜘蛛的應用程序。它使您可以使用JSON API部署(上傳)項目並控制其蜘蛛。

咳咳,走錯片場了,本文章主要介紹的不是scrapyd,那就在這裡淺嘗輒止。

  • 首先需要在命令行輸入scrapyd。即啟動scrapyd服務。(這裡用的是Windows系統)
C:\>scrapyd		# scrapyd服務的默認路徑為 http://localhost:6800

2.2 查看spiderkeeper用法

來看看在作者在github上對spiderkeeper的介紹。

2.2.1 部署方式

教你進行超簡單的scrapy可視化部署!!利用Spiderkeeper進行Scrapy可視化管理

  • 在命令行輸入spiderkeeper即可啟動本機服務器,默認啟動端口為6800scrapyd服務。(scrapyd需提前啟動)
C:\>spiderkeeper		# 等同 spiderkeeper --server=http://127.0.0.1:6800
  • 亦可手動指定多個服務器。如下:
C:\>spiderkeeper --server=http://127.0.0.1:6800 --server=http://192.168.1.1:5000
  • 運行上述命令後,瀏覽器訪問127.0.0.1:5000 #默認端口為5000,出現下面的spiderkeeper的登錄頁面,# 默認賬號密碼皆為admin
教你進行超簡單的scrapy可視化部署!!利用Spiderkeeper進行Scrapy可視化管理

登錄之後會來到下圖,這已經快要接近我們的結果了。但是現在還不可以操作它,因為還沒有將scrapy項目部署到上面來,繼續往下看。

教你進行超簡單的scrapy可視化部署!!利用Spiderkeeper進行Scrapy可視化管理

2.2.2 生蛋(用法)

教你進行超簡單的scrapy可視化部署!!利用Spiderkeeper進行Scrapy可視化管理

這裡主要是生蛋(生成.egg文件),在scrapy項目下執行命令scrapyd-deploy –build-egg output.egg

C:\>scrapyd-deploy --build-egg output.egg

生蛋成功
執行以上命令後,在當前目錄文件下會生成output.egg文件。

教你進行超簡單的scrapy可視化部署!!利用Spiderkeeper進行Scrapy可視化管理

2.2.3 有可能出現的錯誤

‘scrapyd-deploy’ 不是內部或外部命令,也不是可運行的程序或批處理文件

教你進行超簡單的scrapy可視化部署!!利用Spiderkeeper進行Scrapy可視化管理

2.2.3.1 解決報錯

在你的python運行環境下的Scripts文件夾下創建兩個文件。scrapy.batscrapyd-deploy.bat

eg:我的python運行環境為F:\Anaconda\python

教你進行超簡單的scrapy可視化部署!!利用Spiderkeeper進行Scrapy可視化管理

scrapy.bat 裡邊填寫該內容(路徑替換成你自己的python運行環境)

@echo off
F:\Anaconda\python F:\Anaconda\Scripts\scrapy %*

scrapyd-deploy.bat 裡邊填寫該內容(路徑替換成你自己的python運行環境)

@echo off
F:\Anaconda\python F:\Anaconda\Scripts\scrapyd-deploy %*

2.2.3.2 測試成功與否

在命令行輸入scrapyd-deploy -h

scrapyd-deploy -h

如下圖所示,即成功。

教你進行超簡單的scrapy可視化部署!!利用Spiderkeeper進行Scrapy可視化管理

3. 部署

Step 1. 訪問http://127.0.0.1:5000
首先在spiderkeeper上面添加一個項目,因為這裡是寫博客用,所以我命名為bolg_test

教你進行超簡單的scrapy可視化部署!!利用Spiderkeeper進行Scrapy可視化管理

接著點擊Deploy,將上面生成的output.egg文件上傳。

教你進行超簡單的scrapy可視化部署!!利用Spiderkeeper進行Scrapy可視化管理

Step 2. 設置單次執行任務
Dashboard面板,點擊右上角的Runonce,即可設置單次執行任務。

教你進行超簡單的scrapy可視化部署!!利用Spiderkeeper進行Scrapy可視化管理

Step 3. 設置定時任務
scrapy項目中有多個spider文件,可以選擇具體spider,設置優先級等。

教你進行超簡單的scrapy可視化部署!!利用Spiderkeeper進行Scrapy可視化管理
教你進行超簡單的scrapy可視化部署!!利用Spiderkeeper進行Scrapy可視化管理

Step 4. 查看任務狀態
這裡可以看到任務的狀態,執行完成的任務還可以點擊Log,去查看該任務的日誌消息。

教你進行超簡單的scrapy可視化部署!!利用Spiderkeeper進行Scrapy可視化管理

Step 5. 查看任務運行時間狀態

教你進行超簡單的scrapy可視化部署!!利用Spiderkeeper進行Scrapy可視化管理

4.後面的話

在整個部署過程中的環境配置搭配可能會出現一些小磕碰,但是問題不大。都可以通過百度解決出現的問題。

spiderkeeper非常適合部署scrapy進行定時任務,也是scrapy的非常優秀的可視化工具。

好了,本次的分享就到這裡,有任何問題歡迎留言哦。

相關文章

數據庫中間件分片算法之enum

一文入門mybatis

SpringBoot2.X異步編程@Async之請求上下文信息的傳遞

稠密特徵加入CTR預估模型的方法