Crawlab(分布式爬蟲管理平臺(tái))是一個(gè)支持Scrapy、Puppeteer、Selenium,支持Python、NodeJS等任何語言和框架的分布式爬蟲管理平臺(tái),通過增加工作節(jié)點(diǎn)數(shù)量,Crawlab可以做到橫向擴(kuò)展,用戶一看便知,相信使用起來也是非常順手,歡迎有需要的用戶前來獲取winwin7分享的這款Crawlab中文版!
軟件說明
Crawlab能夠幫助用戶實(shí)現(xiàn)多語言爬蟲的目的,通過多種方式進(jìn)行安裝即可使用,軟件采用主節(jié)點(diǎn)的形式來快速獲取網(wǎng)站數(shù)據(jù),從而保存到本地?cái)?shù)據(jù)中,每當(dāng)目標(biāo)站點(diǎn)發(fā)生變化時(shí)即會(huì)更新數(shù)據(jù),用戶還可通過相關(guān)控件來設(shè)計(jì)前端展示效果,極大的提升了程序員開發(fā)的效率。
介紹
Crawlab架構(gòu)
Crawlab的架構(gòu)包括了一個(gè)主節(jié)點(diǎn)(Master Node)和多個(gè)工作節(jié)點(diǎn)(Worker Node),以及負(fù)責(zé)通信和數(shù)據(jù)儲(chǔ)存的Redis和MongoDB數(shù)據(jù)庫(kù)。
主節(jié)點(diǎn)
主節(jié)點(diǎn)是整個(gè)Crawlab架構(gòu)的核心,屬于Crawlab的中控系統(tǒng)。主節(jié)點(diǎn)負(fù)責(zé)與前端應(yīng)用進(jìn)行通信,并通過Redis將爬蟲任務(wù)派發(fā)給工作節(jié)點(diǎn)。同時(shí),主節(jié)點(diǎn)會(huì)同步(部署)爬蟲給工作節(jié)點(diǎn),通過Redis和MongoDB的GridFS。
工作節(jié)點(diǎn)
工作節(jié)點(diǎn)的關(guān)鍵作用是實(shí)行爬蟲每日任務(wù)和儲(chǔ)存爬取數(shù)據(jù)信息與日志,而且根據(jù)Redis的PubSub跟主節(jié)點(diǎn)通訊。根據(jù)提升工作節(jié)點(diǎn)總數(shù),Crawlab能夠保證橫著拓展,不一樣的爬蟲每日任務(wù)能夠分派到不一樣的節(jié)點(diǎn)上實(shí)行。
MongoDB
MongoDB是Crawlab的運(yùn)作數(shù)據(jù)庫(kù)查詢,儲(chǔ)存有節(jié)點(diǎn)、爬蟲、每日任務(wù)、計(jì)劃任務(wù)等數(shù)據(jù)信息,此外GridFS文檔儲(chǔ)存方法是主節(jié)點(diǎn)儲(chǔ)存爬蟲文檔并同歩到工作節(jié)點(diǎn)的正中間媒體。
Redis
Redis是十分受大家喜愛的Key-Value數(shù)據(jù)庫(kù)查詢,在Crawlab中關(guān)鍵完成節(jié)點(diǎn)間數(shù)據(jù)通訊的作用。比如,節(jié)點(diǎn)會(huì)將自身信息內(nèi)容根據(jù)HSET儲(chǔ)存在Redis的nodes哈希列表中,主節(jié)點(diǎn)依據(jù)哈希列表來分辨線上節(jié)點(diǎn)。
前面
前面是一個(gè)根據(jù)Vue-Element-Admin的單頁(yè)應(yīng)用。在其中器重了許多Element-UI的控制來適用相對(duì)應(yīng)的展現(xiàn)。