本文章主要記錄在spiderkeeper中部署scrapy的整個過程,方便自己以後回看。
最近發現了一個可以部署scrapy項目的可視化的工具。
spiderkeeper的特徵:
- 從儀表板管理蜘蛛。安排它們自動運行
- 只需單擊一下即可部署scrapy項目
- 顯示蜘蛛運行統計
- 提供API
看起來就很誘人,(其實主要還是看中它用起來簡單)下面開始講解本次文章的主題spiderkeeper。
1.環境
首先是安裝模塊,這裏建議使用國內源,無它,三秒罷。
eg:pip install scrapy -i https://pypi.douban.com/simple
pip install scrapy
pip install scrapyd # scrapyd服務
pip install scrapyd-client # scrapyd0client 客戶端
pip install spiderkeeper # scrapy可視化部署工具
安裝好模塊後,下邊來看具體配置。
2.配置
本文章主要說的是spiderkeeper–爬蟲監控,spiderkeeper的Github鏈接,點擊即達。
2.1 啓動scrapyd服務
何爲scrapyd?scrapyd文檔地址,點擊即達。
翻譯過來就是:
Scrapyd是用於部署和運行Scrapy蜘蛛的應用程序。它使您可以使用JSON API部署(上傳)項目並控制其蜘蛛。
咳咳,走錯片場了,本文章主要介紹的不是scrapyd,那就在這裏淺嘗輒止。
- 首先需要在命令行輸入scrapyd。即啓動scrapyd服務。(這裏用的是Windows系統)
C:\>scrapyd # scrapyd服務的默認路徑爲 http://localhost:6800
- 瀏覽器訪問http://localhost:6800 ,默認訪問地址(可更改),如下圖所示:
2.2 查看spiderkeeper用法
來看看在作者在github上對spiderkeeper的介紹。
2.2.1 部署方式
- 在命令行輸入spiderkeeper即可啓動本機服務器,默認啓動端口爲6800的scrapyd服務。(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項目部署到上面來,繼續往下看。
2.2.2 生蛋(用法)
這裏主要是生蛋(生成.egg文件),在scrapy項目下執行命令scrapyd-deploy --build-egg output.egg。
C:\>scrapyd-deploy --build-egg output.egg
生蛋成功
執行以上命令後,在當前目錄文件下會生成output.egg文件。
2.2.3 有可能出現的錯誤
‘scrapyd-deploy’ 不是內部或外部命令,也不是可運行的程序或批處理文件
2.2.3.1 解決報錯
在你的python運行環境下的Scripts文件夾下創建兩個文件。scrapy.bat 和 scrapyd-deploy.bat。
eg:我的python運行環境爲F:\Anaconda\python
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
如下圖所示,即成功。
3. 部署
Step 1. 訪問http://127.0.0.1:5000。
首先在spiderkeeper上面添加一個項目,因爲這裏是寫博客用,所以我命名爲bolg_test。
接着點擊Deploy,將上面生成的output.egg文件上傳。
Step 2. 設置單次執行任務
在Dashboard面板,點擊右上角的Runonce,即可設置單次執行任務。
Step 3. 設置定時任務
若scrapy項目中有多個spider文件,可以選擇具體spider,設置優先級等。
Step 4. 查看任務狀態
這裏可以看到任務的狀態,執行完成的任務還可以點擊Log,去查看該任務的日誌消息。
Step 5. 查看任務運行時間狀態
4.後面的話
在整個部署過程中的環境配置搭配可能會出現一些小磕碰,但是問題不大。都可以通過百度解決出現的問題。
spiderkeeper非常適合部署scrapy進行定時任務,也是scrapy的非常優秀的可視化工具。
好了,本次的分享就到這裏,有任何問題歡迎留言哦。