基于Spark的社交網(wǎng)絡(luò)數(shù)據(jù)分析平臺(tái)
發(fā)布時(shí)間:2021-06-12 04:06
隨著當(dāng)今互聯(lián)網(wǎng)技術(shù)與大數(shù)據(jù)技術(shù)的日新月異發(fā)展和應(yīng)用,人們更愿意把日常生活搬到網(wǎng)絡(luò)上來(lái),人們之間的溝通交流也更多的依賴互聯(lián)網(wǎng)。微博、推特等社交應(yīng)用不斷涌現(xiàn)并成為當(dāng)今人們生活中不可缺失的一部分。人與人之間通過(guò)社交應(yīng)用作為媒介來(lái)進(jìn)行交流,從而產(chǎn)生社交網(wǎng)絡(luò),社交網(wǎng)絡(luò)在一定程度上使得移動(dòng)互聯(lián)網(wǎng)的應(yīng)用領(lǐng)域越來(lái)越廣泛。當(dāng)今互聯(lián)網(wǎng)行業(yè)飛速發(fā)展,社交網(wǎng)絡(luò)中的萬(wàn)千用戶隨時(shí)隨地都會(huì)產(chǎn)生大量的用戶數(shù)據(jù),海量的用戶數(shù)據(jù)經(jīng)過(guò)一定處理和挖掘之后會(huì)在社會(huì)生活的方方面面有深遠(yuǎn)意義。互聯(lián)網(wǎng)技術(shù)的發(fā)展為社交網(wǎng)絡(luò)和大數(shù)據(jù)的發(fā)展奠定了基礎(chǔ),海量數(shù)據(jù)的背后,隱藏著巨大的商業(yè)價(jià)值。由于社交網(wǎng)絡(luò)與人們的社交生活息息相關(guān),且客觀地反映了人們社交圈子的狀態(tài)和特征,因此分析和挖掘社交網(wǎng)絡(luò)有一定的現(xiàn)實(shí)意義。本文基于某個(gè)流行的社交網(wǎng)絡(luò)設(shè)計(jì)并實(shí)現(xiàn)了一套包括數(shù)據(jù)獲取、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)計(jì)算與分析和數(shù)據(jù)可視化功能的數(shù)據(jù)分析平臺(tái)。本文提出的數(shù)據(jù)分析平臺(tái)按照功能可以大體分為四個(gè)部分:數(shù)據(jù)爬取,使用分布式架構(gòu)實(shí)現(xiàn)了高效爬取社交網(wǎng)絡(luò)數(shù)據(jù)的爬蟲(chóng)系統(tǒng),該功能為平臺(tái)上層的數(shù)據(jù)計(jì)算與分析模塊提供了可用的數(shù)據(jù)基礎(chǔ);數(shù)據(jù)存儲(chǔ),能夠?yàn)槭褂谜吖芾砥鋭?chuàng)建的數(shù)據(jù)集,數(shù)據(jù)集可包含本...
【文章來(lái)源】:山東大學(xué)山東省 211工程院校 985工程院校 教育部直屬院校
【文章頁(yè)數(shù)】:73 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
圖2-1系統(tǒng)用例圖??
通過(guò)Appium以及Fiddler工具的結(jié)合使用可以實(shí)現(xiàn)多個(gè)賬號(hào)的自動(dòng)登錄并??保存Cookie信息的功能,可以通過(guò)自動(dòng)化的腳本來(lái)產(chǎn)生一個(gè)Cookie池,以供??分布式的爬取程序進(jìn)行調(diào)度。圖3-1描述了整個(gè)自動(dòng)化登錄功能的實(shí)現(xiàn)流程,??部分Fiddler?Script核心代碼和自動(dòng)化腳本核心代碼如卜^所不。??static?function?OnBeforeRequest(oSession:?Session)?{??if?(isNeedCapture(oSession.fullUrl))??{??var?fs_obj,?file;??fs?一?obj?=?new?ActiveXObject(nScripting.FileSystemObject");??//文件保存路徑,可自定義??file?=?fs_obj.OpenTextFile(nD:\\Sessions’',true);??file.writeLine("?Authorization:"?+?oSession.oRequest["AuthorizationM]);??file.close();??}//end?if??//拒絕注銷(xiāo)Authorization的請(qǐng)求??if(oSession.fullUrl.Contains("auth?http_method_override=DELETEM)){??oSession.Request.FailSession(404,?"Rejected",?"can?not?login?out。ⅲ;??j?????Appium?自動(dòng)登錄? ̄?,??賬號(hào)、密碼?????■:?服務(wù)器??安卓AP
去重策略對(duì)千萬(wàn)級(jí)的數(shù)據(jù)量支持較好,框架支持利用布隆迪過(guò)濾器(海量集合??數(shù)據(jù)的單機(jī)過(guò)濾方案)來(lái)進(jìn)行去重。同時(shí),Scrapy框架提供的parse解析函??數(shù)處理流程肯定是絕大部分爬蟲(chóng)作業(yè)的固有模式,可以通過(guò)編寫(xiě)寫(xiě)Middleware??來(lái)實(shí)現(xiàn)下載中間件,甚至有很多現(xiàn)成的中間件己經(jīng)滿足大部分的個(gè)性化爬取需??求。??Scrapy框架主要包含引擎、調(diào)度器、下載器、爬蟲(chóng)、項(xiàng)目管道以及中間件??等組件,其中引擎用來(lái)管理整個(gè)數(shù)據(jù)流的處理以及其他各個(gè)組件之間的協(xié)調(diào)和??數(shù)據(jù)通信。調(diào)度器負(fù)責(zé)接受引擎發(fā)過(guò)來(lái)的爬取請(qǐng)求,將其加入到自己維護(hù)的隊(duì)??列中,當(dāng)引擎調(diào)度待爬取的請(qǐng)求時(shí)調(diào)度器根據(jù)優(yōu)先級(jí)返回隊(duì)列中的元素,調(diào)度??器主要維護(hù)請(qǐng)求隊(duì)列,根據(jù)調(diào)度策略返回當(dāng)前需要被處理的請(qǐng)求,同時(shí)負(fù)責(zé)去??除重復(fù)的網(wǎng)址。下載器負(fù)責(zé)下載URL對(duì)應(yīng)的資源,然后將下載到的響應(yīng)數(shù)據(jù)發(fā)??送給引擎。爬蟲(chóng)組件負(fù)責(zé)完成具體的爬取邏輯,規(guī)定如何提取出下一個(gè)連接和??需要的數(shù)據(jù)信息。圖3-2描繪了?Scrapy框架各個(gè)組件之間的調(diào)度。??
【參考文獻(xiàn)】:
期刊論文
[1]淺析Bloom Filter[J]. 任紅云. 科技資訊. 2013(10)
[2]微博社交網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)方法研究[J]. 范超然,黃曙光,李永成. 微型機(jī)與應(yīng)用. 2012(23)
[3]Flex技術(shù)與Django開(kāi)發(fā)框架的整合研究[J]. 高峰,楊連賀. 計(jì)算機(jī)與數(shù)字工程. 2010(01)
碩士論文
[1]基于ZooKeeper的分布式同步框架設(shè)計(jì)與實(shí)現(xiàn)[D]. 黃毅斐.浙江大學(xué) 2012
本文編號(hào):3225917
【文章來(lái)源】:山東大學(xué)山東省 211工程院校 985工程院校 教育部直屬院校
【文章頁(yè)數(shù)】:73 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
圖2-1系統(tǒng)用例圖??
通過(guò)Appium以及Fiddler工具的結(jié)合使用可以實(shí)現(xiàn)多個(gè)賬號(hào)的自動(dòng)登錄并??保存Cookie信息的功能,可以通過(guò)自動(dòng)化的腳本來(lái)產(chǎn)生一個(gè)Cookie池,以供??分布式的爬取程序進(jìn)行調(diào)度。圖3-1描述了整個(gè)自動(dòng)化登錄功能的實(shí)現(xiàn)流程,??部分Fiddler?Script核心代碼和自動(dòng)化腳本核心代碼如卜^所不。??static?function?OnBeforeRequest(oSession:?Session)?{??if?(isNeedCapture(oSession.fullUrl))??{??var?fs_obj,?file;??fs?一?obj?=?new?ActiveXObject(nScripting.FileSystemObject");??//文件保存路徑,可自定義??file?=?fs_obj.OpenTextFile(nD:\\Sessions’',true);??file.writeLine("?Authorization:"?+?oSession.oRequest["AuthorizationM]);??file.close();??}//end?if??//拒絕注銷(xiāo)Authorization的請(qǐng)求??if(oSession.fullUrl.Contains("auth?http_method_override=DELETEM)){??oSession.Request.FailSession(404,?"Rejected",?"can?not?login?out。ⅲ;??j?????Appium?自動(dòng)登錄? ̄?,??賬號(hào)、密碼?????■:?服務(wù)器??安卓AP
去重策略對(duì)千萬(wàn)級(jí)的數(shù)據(jù)量支持較好,框架支持利用布隆迪過(guò)濾器(海量集合??數(shù)據(jù)的單機(jī)過(guò)濾方案)來(lái)進(jìn)行去重。同時(shí),Scrapy框架提供的parse解析函??數(shù)處理流程肯定是絕大部分爬蟲(chóng)作業(yè)的固有模式,可以通過(guò)編寫(xiě)寫(xiě)Middleware??來(lái)實(shí)現(xiàn)下載中間件,甚至有很多現(xiàn)成的中間件己經(jīng)滿足大部分的個(gè)性化爬取需??求。??Scrapy框架主要包含引擎、調(diào)度器、下載器、爬蟲(chóng)、項(xiàng)目管道以及中間件??等組件,其中引擎用來(lái)管理整個(gè)數(shù)據(jù)流的處理以及其他各個(gè)組件之間的協(xié)調(diào)和??數(shù)據(jù)通信。調(diào)度器負(fù)責(zé)接受引擎發(fā)過(guò)來(lái)的爬取請(qǐng)求,將其加入到自己維護(hù)的隊(duì)??列中,當(dāng)引擎調(diào)度待爬取的請(qǐng)求時(shí)調(diào)度器根據(jù)優(yōu)先級(jí)返回隊(duì)列中的元素,調(diào)度??器主要維護(hù)請(qǐng)求隊(duì)列,根據(jù)調(diào)度策略返回當(dāng)前需要被處理的請(qǐng)求,同時(shí)負(fù)責(zé)去??除重復(fù)的網(wǎng)址。下載器負(fù)責(zé)下載URL對(duì)應(yīng)的資源,然后將下載到的響應(yīng)數(shù)據(jù)發(fā)??送給引擎。爬蟲(chóng)組件負(fù)責(zé)完成具體的爬取邏輯,規(guī)定如何提取出下一個(gè)連接和??需要的數(shù)據(jù)信息。圖3-2描繪了?Scrapy框架各個(gè)組件之間的調(diào)度。??
【參考文獻(xiàn)】:
期刊論文
[1]淺析Bloom Filter[J]. 任紅云. 科技資訊. 2013(10)
[2]微博社交網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)方法研究[J]. 范超然,黃曙光,李永成. 微型機(jī)與應(yīng)用. 2012(23)
[3]Flex技術(shù)與Django開(kāi)發(fā)框架的整合研究[J]. 高峰,楊連賀. 計(jì)算機(jī)與數(shù)字工程. 2010(01)
碩士論文
[1]基于ZooKeeper的分布式同步框架設(shè)計(jì)與實(shí)現(xiàn)[D]. 黃毅斐.浙江大學(xué) 2012
本文編號(hào):3225917
本文鏈接:http://sikaile.net/guanlilunwen/ydhl/3225917.html
最近更新
教材專(zhuān)著