項目地址: https://github.com/Panweitong/Distributed-Crawler-v2.0
1.引言
1.1編寫目的
編寫本使用說明的目的是充分敘述DACE分布式爬蟲系統(tǒng)所能實現(xiàn)的功能及其運行環(huán)境揍诽,以便使用者了解本軟件的使用范圍和使用方法柏靶,并為軟件的維護和更新提供必要的信息起惕。
2.概述
2.1 系統(tǒng)簡介
DACE分布式爬蟲系統(tǒng)(以下簡稱DACE系統(tǒng))旨在通過分布式搭建一個快速、高效舶赔、穩(wěn)定的爬蟲系統(tǒng),能夠?qū)〇|實現(xiàn)全站商品數(shù)據(jù)采集花沉,同時采集商品評價并且生成評價數(shù)據(jù)分析報告谨湘;各類新聞博客網(wǎng)站的正文提取,能通過谷歌新聞搜索關(guān)鍵字進行批量采集新聞各拷;快速采集獵聘網(wǎng)并進行數(shù)據(jù)分析生成行業(yè)報告刁绒。
快速部署新爬蟲是本軟件的一個特點,無需修改主程序源代碼即可實現(xiàn)新的爬蟲規(guī)則撤逢,真正的可插拔式爬蟲膛锭。能夠隨時開啟和停止爬蟲粮坞,一鍵導出爬蟲數(shù)據(jù)蚊荣,對爬蟲狀態(tài)進行實時監(jiān)控。后臺服務(wù)器運行情況通過動態(tài)表格實時顯示莫杈,能對Redis實施一鍵清除緩存互例,方便快速部署新爬蟲。
2.2系統(tǒng)運行說明
系統(tǒng)所涉及到的所有爬蟲源代碼均已部署至云服務(wù)器中筝闹,通過該鏈接即可快速訪問: http://134.175.64.168:5000
目前已經(jīng)在谷歌瀏覽器媳叨、火狐瀏覽器、360瀏覽器关顷、Safari上通過測試糊秆,*建議使用以上其中一種瀏覽器進行訪問,以便達到最佳使用效果议双。
2.3版權(quán)說明
“雁過無聲”團隊擁有本作品內(nèi)的所有資料(包括但不限于文字痘番、圖片、音頻、視頻資料汞舱、源代碼及頁面設(shè)計伍纫、編排、軟件等)的版權(quán)和其他相關(guān)知識產(chǎn)權(quán)昂芜。未經(jīng)“雁過無聲”事先書面許可莹规,對于本作品上的任何內(nèi)容,任何單位和個人不得以任何方式復制泌神、轉(zhuǎn)載良漱、鏈接、轉(zhuǎn)貼欢际、引用债热、刊登、發(fā)表或在非“雁過無聲”所屬服務(wù)器上做鏡像或以其他任何方式進行使用幼苛。
3.軟件功能介紹和使用說明
3.1 入門
通過http://134.175.64.168:5000 快速訪問爬蟲主頁窒篱。主頁包括爬蟲的一些介紹和功能特點,以及相關(guān)的數(shù)據(jù)信息和作者信息舶沿。點擊“立即體驗”跳轉(zhuǎn)到分布式爬蟲管理界面墙杯,快速上手。
DACE系統(tǒng)導航欄包括以下五大板塊功能【任務(wù)】【項目】【爬蟲】【數(shù)據(jù)分析】括荡,【監(jiān)控】高镐。第一板塊功能是系統(tǒng)管理,用于對系統(tǒng)全局爬蟲的管理畸冲,隨時停止爬蟲以及設(shè)置定時任務(wù)嫉髓。第二板塊是對爬蟲的部署和啟動,包括京東邑闲、新聞博客算行、獵聘網(wǎng)爬蟲的部署。第三板塊為四個爬蟲的使用入口苫耸。第四板塊為數(shù)據(jù)分析州邢,包括正文的摘要和關(guān)鍵字提取,生成招聘網(wǎng)的職位或者行業(yè)報告褪子。第五板塊是對服務(wù)器的運行狀態(tài)進行監(jiān)控量淌,以及可以查看爬蟲的運行狀態(tài)。
4.任務(wù)模塊
4.1控制臺
控制臺是對系統(tǒng)全局爬蟲運行情況的監(jiān)控嫌褪,能夠顯示隊列中等待運行的任務(wù)呀枢、正在運行的任務(wù)和已完成的任務(wù)。相關(guān)術(shù)語說明如下:
術(shù)語 說明
任務(wù)編號 爬蟲的序號
參數(shù) 啟爬蟲時傳入的參數(shù)(如有需要時)
優(yōu)先級 不同爬蟲的優(yōu)先程度不同
運行時間 目前爬蟲已運行的時長
開始時間 記錄啟動爬蟲的時間
日志 從后臺傳回的爬蟲運行情況數(shù)據(jù)
動作 從后臺傳回的爬蟲運行情況數(shù)據(jù)
清空隊列 清空Redis數(shù)據(jù)庫中的緩存數(shù)據(jù)
4.2 定期任務(wù)
能夠預(yù)先設(shè)定任務(wù)笼痛,后臺會在指定時間開啟爬蟲自動采集裙秋,點擊“增加任務(wù)”開始配置新的定期任務(wù)。相關(guān)術(shù)語說明如下:
術(shù)語 說明
Day of Month 設(shè)定爬蟲的啟動時間
小時 爬蟲運行時長
爬蟲 指定某個爬蟲
優(yōu)先級 如有多個定期任務(wù)可以設(shè)置優(yōu)先級
5.項目模塊
DACE系統(tǒng)是以項目為單位對爬蟲進行管理,如創(chuàng)建A残吩,B兩個項目财忽,A項目中可以創(chuàng)建京東,新聞等若干個爬蟲泣侮;B項目中可以創(chuàng)建不同使用場景的京東悠抹,獵聘網(wǎng)等若干個爬蟲驳庭,兩者互不干擾存炮,實現(xiàn)可插拔式管理爬蟲仔涩。
5.1部署
已經(jīng)完成項目創(chuàng)建可以進行部署爬蟲,通過EGG文件將爬蟲的相關(guān)配置上傳至服務(wù)器蛹锰。即可完成對爬蟲的部署深胳。EGG文件是使用scrapyd-client生成的文件,它包括和爬蟲配置相關(guān)的源代碼铜犬,即使是不同規(guī)則的爬蟲舞终,也能快速進行部署和采集。
點擊“選擇文件”癣猾,選擇已經(jīng)通過命令打包好的EGG配置文件敛劝,點擊“提交”完成部署。
5.2管理
該面板下會顯示當前正在運行的項目纷宇,可以對該項目進行刪除操作夸盟,如果需要切換到其他項目,請點擊上方導航欄的“項目”按鈕像捶,選擇其他項目上陕,也可以創(chuàng)建新的項目。點擊創(chuàng)建項目拓春,在彈出窗口中輸入項目名稱释簿,點擊“創(chuàng)建”,即可生成新的項目痘儡。
6.爬蟲模塊
該類別下有四個不同類型的爬蟲辕万,使用方法如下:
6.1谷歌新聞搜索
此功能是通過谷歌的新聞搜索功能,實現(xiàn)對關(guān)鍵字的新聞搜索沉删,并使用DACE系統(tǒng)自主研發(fā)的正文提取算法,對新聞網(wǎng)頁的正文內(nèi)容進行提取醉途。
使用方法:輸入“關(guān)鍵字”矾瑰,設(shè)置優(yōu)先級(可選),點擊“開啟采集”隘擎,后臺接收到信號即開始搜索新聞并進行采集殴穴。每次搜索會返回所有搜索引擎所有結(jié)果。
相關(guān)字段說明:
術(shù)語 說明
標題 新聞標題
來源 新聞來源的網(wǎng)站
URL 新聞鏈接
正文 顯示提取的出的新聞?wù)?/p>
操作 彈出窗口顯示完整標題和正文信息
導出數(shù)據(jù) 一鍵將數(shù)據(jù)導出成excel格式
6.2 新聞博客爬蟲
新聞博客類爬蟲擁有一套自主研發(fā)的成熟穩(wěn)定的正文提取算法,目前已經(jīng)通過測試的網(wǎng)頁近百個采幌,能夠適應(yīng)主流的新聞博客網(wǎng)站劲够。使用該爬蟲需要放入一個入口URL鏈接,爬蟲以該URL作為起始域名限制休傍,同時需要放入模版URL征绎,爬蟲只會提取符合模版URL的頁面的正文信息,模版URL的數(shù)量沒有限制磨取。
相關(guān)字段說明:
標題:網(wǎng)站標題
來源:新聞/博客來源的網(wǎng)站
內(nèi)容:使用提取算法提取的結(jié)果
URL:新聞/博客的鏈接
術(shù)語 說明
標題 文章標題
來源 新聞/博客來源的網(wǎng)站
內(nèi)容 使用提取算法提取的結(jié)果
URL 新聞/博客的鏈接
6.3 獵聘網(wǎng)爬蟲
獵聘爬蟲是對獵聘網(wǎng)招聘信息進行抓取和數(shù)據(jù)結(jié)構(gòu)化的爬蟲人柿,通過職位關(guān)鍵字和指定某個地區(qū)即可搜索該職位在地區(qū)的招聘信息,每次搜索返回4000條左右的招聘數(shù)據(jù)忙厌,時間在8分鐘以內(nèi)可以完成采集凫岖。
相關(guān)字段說明:
術(shù)語 說明
公司名稱 提供職位的企業(yè)名稱
職位名稱 企業(yè)提供的崗位薪資
職位薪資 企業(yè)提供的崗位薪資
工作地點 崗位所在城市
年齡要求 企業(yè)對應(yīng)聘者的年齡要求
經(jīng)驗 企業(yè)對應(yīng)聘者的工作經(jīng)驗要求
職位描述 單位對職位的工作描述和入職要求
導出數(shù)據(jù) 一鍵導出所有招聘信息到excel格式
6.4京東商品爬蟲
該爬蟲可以實現(xiàn)對京東全站商品數(shù)據(jù)的抓取,也可以根據(jù)關(guān)鍵字搜索對商品結(jié)果進行采集逢净。包括采集商家哥放、商品、評論等信息爹土,點擊“評論”按鈕可以查看商品評論婶芭,同時提供評論數(shù)據(jù)分析。
相關(guān)字段說明:
術(shù)語 說明
關(guān)鍵字 需要搜索的商品名稱(可輸入多個)
標題 商品名稱
京東價 商品價格
店鋪 店鋪名
評價數(shù) 包括不同星級的評論和總評論數(shù)
查看評論 點擊查看商品評論
分析評論 對商品評論進行分析
導出數(shù)據(jù) 一鍵將數(shù)據(jù)導出成excel格式
評論分析功能包括:商品購買時間分布着饥、購買人群分布犀农、購買途徑(客戶端)、用戶等級分布
商品購買時間分布:
統(tǒng)計顧客購買該商品的時間分布,目前只對2017年的購買記錄進行分析宰掉,以月份作為時間單位呵哨。
購買人群分布:
根據(jù)評論內(nèi)容,統(tǒng)計該商品的購買和使用對象轨奄,如該商品是買給男朋友孟害,或者是買給女朋友。
購買途徑:
用戶購買途徑可以分為:Android客戶端挪拟,IPhone客戶端挨务,Ipad客戶端、微信購買或者PC客戶端購買玉组,通過分析谎柄,能都了解大眾消費者的網(wǎng)上購物途徑。
用戶等級分布:
京東對不同消費人群的消費記錄惯雳,對用戶評定不同的等級朝巫,消費越多,等級越高石景。
7.數(shù)據(jù)分析模塊
7.1文本分析
文本分析結(jié)合DACE系統(tǒng)自主研發(fā)的正文提取算法和開源的TextRank算法對新聞和博客類網(wǎng)站進行正文提取和文本分析劈猿。
相關(guān)字段說明:
URL輸入框:輸入一個包含標題和正文的新聞或博客鏈接
提取正文:點擊“提取正文”按鈕即可對鏈接的內(nèi)容進行提取和分析
文本輸入框:輸入一段文本拙吉,可以對該文本進行摘要提取和關(guān)鍵詞提取
分析文本:點擊“分析文本”按鈕即可對文本進行分析
摘要:顯示提取出來的摘要
關(guān)鍵詞提取:顯示文章的關(guān)鍵詞
7.2 獵聘網(wǎng)生成報告
分布式爬蟲的高效率采集能夠在5-8分鐘內(nèi)完成對特定地區(qū)和崗位的招聘信息抓染救佟(約4000份)筷黔,并且生成一份職業(yè)/行業(yè)報告。
點擊“行業(yè)報告”à選擇地區(qū)à輸入職位名稱à點擊生成報告
等待5-8分鐘內(nèi)(*在此期間請勿進行其他操作仗颈,否則將導致無法正常顯示行業(yè)報告佛舱,目前只支持單用戶使用該功能,如遇多人同時使用揽乱,將會造成失斆肌)。
行業(yè)報告包括以下7個部分:
全國各市對該職位的需求量凰棉。
通過統(tǒng)計招聘信息中的崗位所在地區(qū)损拢,分析全國各市對崗位的需求,獲取排名前10的地區(qū)撒犀。
全國各市的崗位薪資
由于每個地區(qū)的經(jīng)濟水平和行業(yè)發(fā)展程度存在差異福压,因此崗位在不同地區(qū)的平均薪資是不一樣的。結(jié)合上部分的職位需求量或舞,統(tǒng)計10個地區(qū)的崗位薪資荆姆。
崗位對學歷要求
隨著社會的日益發(fā)展,許多行業(yè)的用人單位都提升了對學歷的要求映凳,特別是互聯(lián)網(wǎng)和科技行業(yè)胆筒,對碩士以上學歷的要求逐漸增多,通過對職位或者行業(yè)的分析诈豌,可以預(yù)測出不同行業(yè)的發(fā)展速度仆救。
企業(yè)類型和薪資分布情況
盡管企業(yè)招聘相同的技術(shù)崗位,但是不同行業(yè)的公司對崗位的能力要求和工作范圍的差異會造成崗位薪資的差異矫渔。通過分析不同類型企業(yè)的招聘薪資彤蔽,得出企業(yè)類型和薪資分布情況。
學歷和薪資分布情況
用人單位根據(jù)企業(yè)業(yè)務(wù)需求和工作要求庙洼,因此不同級別的企業(yè)會招聘不同學歷層次的人員顿痪,同時不同崗位的職能需要的學歷要求也是千差萬別,因此通過對招聘信息中的學歷-薪資進行分析油够,得出不同學歷層次對崗位薪資的影響作用蚁袭。
技能需求量
隨著行業(yè)的不斷革新和發(fā)展,面對新型業(yè)務(wù)企業(yè)也需要掌握不同技能的職員叠聋,因此可以通過對職位描述的文字進行分析撕阎,提取出該職位需要的技能集合判斷當前掌握哪些技能最受企業(yè)青睞,給求職人員一個更好的學習方向和行業(yè)判斷碌补。
技能價值
不同的職業(yè)技能價值能為企業(yè)創(chuàng)造不同的財富和價值虏束,因此企業(yè)對于掌握不同技能的應(yīng)聘者會給予不同的薪資,不同的行業(yè)厦章,不同的職位需要的技能不相同镇匀,通過統(tǒng)計行業(yè)平均薪資和技能的需求量,分析出不同技能的價值袜啃。
地區(qū)平均薪資
如果搜索的地區(qū)不為“全國”范圍時汗侵,會對選擇搜索的地區(qū)進行平均薪資統(tǒng)計,反映該地區(qū)的職位薪酬平均水平群发。
詞云報告
詞云報告是通過分析招聘信息中的崗位描述晰韵,進行關(guān)鍵詞的提取生成的詞云報告。能夠快速發(fā)現(xiàn)與該職位相關(guān)的熱點詞語熟妓。
8.監(jiān)控模塊
8.1實時監(jiān)控
實時監(jiān)控模塊可以對DACE系統(tǒng)的爬蟲主機進行實時監(jiān)控雪猪,查看服務(wù)器運行的內(nèi)存使用情況和CPU使用情況。如果服務(wù)器發(fā)生異常起愈,或者負載過大只恨,可以通過實時監(jiān)控及時發(fā)現(xiàn)。