Crawlab能夠幫助用戶實現多語言爬蟲的目的,通過多種方式進行安裝即可使用,軟件采用主節點的形式來快速獲取網站數據,從而保存到本地數據中,每當目標站點發生變化時即會更新數據,用戶還可通過相關控件來設計前端展示效果,極大的提升了程序員開發的效率。
軟件功能
Crawlab架構:
Crawlab的架構包括了一個主節點(Master Node)和多個工作節點(Worker Node),以及負責通信和數據儲存的Redis和MongoDB數據庫。
前端應用向主節點請求數據,主節點通過MongoDB和Redis來執行任務派發調度以及部署,工作節點收到任務之后,開始執行爬蟲任務,并將任務結果儲存到MongoDB。架構相對于v0.3.0之前的Celery版本有所精簡,去除了不必要的節點監控模塊Flower,節點監控主要由Redis完成。
主節點
主節點是整個Crawlab架構的核心,屬于Crawlab的中控系統。主節點負責與前端應用進行通信,并通過Redis將爬蟲任務派發給工作節點。同時,主節點會同步(部署)爬蟲給工作節點,通過Redis和MongoDB的GridFS。
工作節點
工作節點的主要功能是執行爬蟲任務和儲存抓取數據與日志,并且通過Redis的PubSub跟主節點通信。通過增加工作節點數量,Crawlab可以做到橫向擴展,不同的爬蟲任務可以分配到不同的節點上執行。
MongoDB
MongoDB是Crawlab的運行數據庫,儲存有節點、爬蟲、任務、定時任務等數據,另外GridFS文件儲存方式是主節點儲存爬蟲文件并同步到工作節點的中間媒介。
Redis
Redis是非常受歡迎的Key-Value數據庫,在Crawlab中主要實現節點間數據通信的功能。例如,節點會將自己信息通過HSET儲存在Redis的nodes哈希列表中,主節點根據哈希列表來判斷在線節點。
前端
前端是一個基于Vue-Element-Admin的單頁應用。其中重用了很多Element-UI的控件來支持相應的展示。
標簽: 編程開發
-
7 簡單搜索天氣組件
裝機必備軟件
網友評論