版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
OTS設(shè)計(jì)和實(shí)現(xiàn)基于大數(shù)據(jù)的社交網(wǎng)絡(luò)信息分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要:近年來,社交網(wǎng)絡(luò)服務(wù)隨著互聯(lián)網(wǎng)技術(shù)的進(jìn)步而迅速發(fā)展,新浪微博作為中國最具影響力的社交媒體之一,扮演著重要的信息傳播和輿論引導(dǎo)角色。本研究旨在分析新浪微博上的社交網(wǎng)絡(luò)熱點(diǎn),探討其形成機(jī)制及對(duì)社會(huì)輿論的影響。因此,該設(shè)計(jì)通過對(duì)新浪微博平臺(tái)上的熱點(diǎn)事件進(jìn)行數(shù)據(jù)采集和分析,結(jié)合文本挖掘和網(wǎng)絡(luò)分析方法,來分析熱點(diǎn)事件的涌現(xiàn)與社交網(wǎng)絡(luò)中用戶之間相關(guān)度等。該設(shè)計(jì)通過對(duì)新浪微博平臺(tái)的熱點(diǎn)事件進(jìn)行數(shù)據(jù)采集,通過網(wǎng)絡(luò)分析工具和可視化展現(xiàn)數(shù)據(jù)分析結(jié)果。對(duì)數(shù)據(jù)分析后發(fā)現(xiàn),熱點(diǎn)事件的涌現(xiàn)與社交網(wǎng)絡(luò)中用戶之間的信息傳播、互動(dòng)和情感表達(dá)密切相關(guān),以及在熱點(diǎn)事件中,信息傳播的核心節(jié)點(diǎn)往往具有較高的影響力和可信度,而情感表達(dá)則在一定程度上影響著熱點(diǎn)話題的持續(xù)發(fā)酵和輿論導(dǎo)向。此外,還發(fā)現(xiàn)新浪微博上的熱點(diǎn)事件呈現(xiàn)出一定的時(shí)空聚集特征,不同事件之間存在著復(fù)雜的影響和交叉關(guān)系。本設(shè)計(jì)是為進(jìn)一步理解社交網(wǎng)絡(luò)熱點(diǎn)事件的形成與演化提供了新的視角和方法,對(duì)于輿情監(jiān)測、輿論引導(dǎo)以及社交網(wǎng)絡(luò)治理具有重要的理論和實(shí)踐意義。關(guān)鍵詞:社交網(wǎng)絡(luò)分析;新浪微博;熱點(diǎn)事件;設(shè)計(jì)實(shí)現(xiàn)DesignandImplementationofSocialNetworkInformationAnalysisSystemBasedonBigDataAbstract:Inrecentyears,socialnetworkingserviceshaverapidlydevelopedwiththeadvancementofInternettechnology,andSinaWeibo,asoneofthemostinfluentialsocialmediaplatformsinChina,playsasignificantroleininformationdisseminationandpublicopinionguidance.ThepurposeofthisstudyistoanalyzesocialnetworkhotspotsonSinaWeiboandexploretheirformationmechanismsandimpactonsocietalopinion.Therefore,thisdesignconductsdatacollectionandanalysisofhoteventsontheSinaWeiboplatform,combinedwithtextminingandnetworkanalysismethods,toexaminetheemergenceofhoteventsandthecorrelationbetweenusersinthesocialnetwork.ThedesigncollectsdatafromhoteventsontheSinaWeiboplatform,anddisplaysthedataanalysisresultsthroughnetworkanalysistoolsandvisualizations.Afterdataanalysis,itisfoundthattheemergenceofhoteventsiscloselyrelatedtotheinformationdissemination,interactionandemotionalexpressionbetweenusersinsocialnetworks,andthecorenodesofinformationdisseminationoftenhavehighinfluenceandcredibilityinhotevents,whileemotionalexpressionaffectsthecontinuousfermentationandpublicopinionorientationofhottopicstoacertainextent.KeyWords:Socialnetworkanalysis;SinaWeibo;Hotevents;Designimplementation目錄第1章緒論 第1章緒論研究背景和意義社交網(wǎng)絡(luò)是由許多節(jié)點(diǎn)以及節(jié)點(diǎn)之間關(guān)系構(gòu)成的一個(gè)網(wǎng)絡(luò)結(jié)構(gòu)。近年來,社交網(wǎng)絡(luò)服務(wù)隨著互聯(lián)網(wǎng)技術(shù)的進(jìn)步而迅速發(fā)展,而熱點(diǎn)事件與社交網(wǎng)絡(luò)之間存在著密切的關(guān)系。新浪微博作為中國最具影響力的社交媒體之一,扮演著重要的信息傳播和輿論引導(dǎo)角色。社交網(wǎng)絡(luò)中的用戶在熱點(diǎn)事件中發(fā)揮著重要作用,他們通過轉(zhuǎn)發(fā)、評(píng)論、點(diǎn)贊等行為,參與到熱點(diǎn)事件的討論和傳播中,對(duì)事件的發(fā)展和輿論導(dǎo)向產(chǎn)生影響。用戶的行為和態(tài)度反過來又影響著熱點(diǎn)事件在社交網(wǎng)絡(luò)中的演化和發(fā)展。通過對(duì)新浪微博社交網(wǎng)絡(luò)熱點(diǎn)進(jìn)行分析具有重要意義。首先,能夠了解當(dāng)前社會(huì)熱點(diǎn)議題以及公眾關(guān)注度,為輿情監(jiān)測和引導(dǎo)提供參考。其次,通過社交網(wǎng)絡(luò)分析有助于對(duì)用戶行為和社交關(guān)系進(jìn)行挖掘,更好的為用戶提供服務(wù),以及為精準(zhǔn)營銷、用戶畫像構(gòu)建提供數(shù)據(jù)參考。此外,關(guān)乎一些政府部門和企業(yè)機(jī)構(gòu)的需求,幫助他們了解公眾的需求和意見。通過對(duì)微博熱點(diǎn)話題和輿論動(dòng)向的監(jiān)測,政府部門和企業(yè)可以及時(shí)了解公眾關(guān)注的焦點(diǎn)和熱點(diǎn)問題,及時(shí)調(diào)整政策和營銷策略,提高治理和經(jīng)營效率。研究方向與現(xiàn)狀自社交網(wǎng)絡(luò)發(fā)展以來,普通人的網(wǎng)絡(luò)生活和現(xiàn)實(shí)生活交織的越來越密集,社交網(wǎng)絡(luò)服務(wù)正在改變?nèi)藗兊纳?。隨著大數(shù)據(jù)分析、數(shù)據(jù)可視化技術(shù)的發(fā)展普及,用戶在社交網(wǎng)絡(luò)上活動(dòng)時(shí),會(huì)通過文本信息、轉(zhuǎn)發(fā)、評(píng)論等行為產(chǎn)生大量數(shù)據(jù)信息,分析、挖掘這些大數(shù)據(jù)對(duì)熱點(diǎn)事件傳播和影響力的貢獻(xiàn)。對(duì)于當(dāng)下熱點(diǎn)事件的檢測和和監(jiān)測的數(shù)據(jù),預(yù)測事件傳播路徑和影響范圍等,通過分析微博上用戶的情感表達(dá)和輿論傾向,及時(shí)發(fā)現(xiàn)和應(yīng)對(duì)重要事件和輿情危機(jī)。微博社交網(wǎng)絡(luò)熱點(diǎn)分析,為微博社交網(wǎng)絡(luò)的輿情監(jiān)測和信息傳播提供了理論和實(shí)踐支持。1.3文獻(xiàn)綜述1987年9月14日,北京計(jì)算機(jī)技術(shù)及應(yīng)用研究所發(fā)出了第一封電子郵件:“AcrosstheGreatWall,wecanreacheverycornerintheworld.”(越過長城,我們能達(dá)到世界的每一個(gè)角落)中國人實(shí)現(xiàn)了對(duì)互聯(lián)網(wǎng)的第一次具有里程碑意義的接觸,從踏入互聯(lián)網(wǎng)的這第一步算起,中國互聯(lián)網(wǎng)的發(fā)展歷程已有30多年的時(shí)間。在過去的30年里,中國的網(wǎng)絡(luò)社會(huì)迅速崛起。超過一半的人口已經(jīng)通過實(shí)名注冊(cè)成為網(wǎng)民,并積極參與各種網(wǎng)絡(luò)活動(dòng)。網(wǎng)絡(luò)瀏覽、交流、購物以及社交聚會(huì)已經(jīng)成為廣大網(wǎng)民隨時(shí)隨地進(jìn)行的日?;顒?dòng),無論是在公共場所還是在個(gè)人住所,都已成為廣大網(wǎng)民隨時(shí)開展的日?;顒?dòng)。2007年,美國的Twitter在2007年的時(shí)候就已經(jīng)較為成熟,且獲得了各種獎(jiǎng)項(xiàng)。Twitter的成功令國內(nèi)一些創(chuàng)業(yè)者看到了希望,仿照Twitter的中文網(wǎng)站不斷出現(xiàn),在經(jīng)過不斷的發(fā)展和競爭中。2009年8月,新浪微博快速發(fā)展以及吸引了大量打用戶,新浪微博的發(fā)展勢如破竹,難以抵擋,加上不斷改進(jìn)自身功能等,使得新浪微博在一眾網(wǎng)易、騰訊都推出了微博功能情況下,脫穎而出?,F(xiàn)如今,新浪微博作為中國最具影響力的社交媒體之一,扮演著重要的信息傳播和輿論引導(dǎo)角色。截止到2023年9月底,新浪微博的月活躍度用戶達(dá)到6.05億,日均活躍用戶為2.6億。當(dāng)前,微博的龐大數(shù)據(jù)量,可以利用文本挖掘、機(jī)器學(xué)習(xí)和網(wǎng)絡(luò)分析等方法對(duì)海量的數(shù)據(jù)進(jìn)行挖掘和分析,分析的作用能夠更好的應(yīng)用于輿情監(jiān)測,營銷策略和政策制定等領(lǐng)域,提供了重要的數(shù)據(jù)支持和決策參考。網(wǎng)絡(luò)在生活中已經(jīng)必不可少,對(duì)社交網(wǎng)絡(luò)熱點(diǎn)的分析無法避免的會(huì)出現(xiàn)一些問題,例如,海量的數(shù)據(jù)中。存在著大量的虛假和不重要信息,會(huì)影響最后分析的準(zhǔn)確性和可信度以及對(duì)用戶的隱私保護(hù)和信息安全問題也是當(dāng)下人們關(guān)注重點(diǎn),如何在分析過程中保護(hù)用戶隱私和保障信息安全,是一個(gè)重要的挑戰(zhàn)。
第2章系統(tǒng)方案設(shè)計(jì)2.1系統(tǒng)概述新浪微博是一個(gè)公開的社交網(wǎng)絡(luò)平臺(tái),其內(nèi)容可以被搜索引擎索引和公開訪問,新浪微博是國內(nèi)最大的社交媒體平臺(tái)之一,是網(wǎng)絡(luò)上重要的公開輿論場,同時(shí)也是第一個(gè)實(shí)行公開IP屬地的平臺(tái)。隨著互聯(lián)網(wǎng)的普及,人們享受到了各種便利,但同時(shí)也面臨著諸多問題,其中包括滋生了許多網(wǎng)絡(luò)輿論亂象。近年來,公安機(jī)關(guān)的網(wǎng)絡(luò)安全部門依托“凈網(wǎng)”系列專項(xiàng)行動(dòng),不斷對(duì)網(wǎng)絡(luò)暴力、網(wǎng)絡(luò)水軍、網(wǎng)絡(luò)黑公關(guān)等違法犯罪行為展開偵查和打擊,以維護(hù)網(wǎng)絡(luò)環(huán)境的安全和秩序。該系統(tǒng)的設(shè)計(jì)旨在定制化分析新浪微博社交網(wǎng)絡(luò)平臺(tái)中的消息傳播和用戶群體,以便企業(yè)組織能夠制定廣告推廣營銷的實(shí)際效果,并發(fā)現(xiàn)網(wǎng)絡(luò)熱點(diǎn)事件背后的深層數(shù)據(jù)。它提供了便捷有效的分析工具,以支持企業(yè)組織進(jìn)行決策和策略規(guī)劃。本系統(tǒng)旨在幫助用戶了解特定事件或內(nèi)容在新浪微博社交網(wǎng)絡(luò)平臺(tái)上的傳播和關(guān)注情況,為相關(guān)決策提供深入的數(shù)據(jù)支持。系統(tǒng)通過自動(dòng)化分析指定微博的傳播路徑、參與人群等數(shù)據(jù)屬性,以實(shí)現(xiàn)用戶的功能需求。需要說明的是,由于數(shù)據(jù)接口和處理能力等方面的限制,系統(tǒng)目前僅能處理部分重要數(shù)據(jù),無法對(duì)新浪微博社交網(wǎng)絡(luò)平臺(tái)的全部數(shù)據(jù)進(jìn)行采集和分析。2.2微博熱點(diǎn)事件數(shù)據(jù)獲取模塊設(shè)計(jì)微博熱點(diǎn)事件數(shù)據(jù)獲取模塊是一個(gè)關(guān)鍵的系統(tǒng)組件,它不僅負(fù)責(zé)收集數(shù)據(jù),還需進(jìn)行數(shù)據(jù)的結(jié)構(gòu)分析和處理。這個(gè)模塊分為數(shù)據(jù)獲取和數(shù)據(jù)處理兩個(gè)子模塊,并且需要實(shí)現(xiàn)數(shù)據(jù)處理功能,包括去除冗余數(shù)據(jù),并將處理后的數(shù)據(jù)轉(zhuǎn)換為網(wǎng)絡(luò)圖數(shù)據(jù),以便進(jìn)一步的分析和可視化。具體來說,該模塊需要完成三項(xiàng)關(guān)鍵任務(wù):首先是數(shù)據(jù)獲取,通過新浪微博的API接口或網(wǎng)頁抓取等方式,獲取熱點(diǎn)事件相關(guān)的數(shù)據(jù);其次是數(shù)據(jù)處理,對(duì)獲取的數(shù)據(jù)進(jìn)行清洗、標(biāo)準(zhǔn)化和整合,以滿足后續(xù)分析的需求;最后是構(gòu)建微博熱點(diǎn)事件網(wǎng)絡(luò),利用處理后的數(shù)據(jù),構(gòu)建用戶和話題之間的關(guān)系網(wǎng)絡(luò),以揭示熱點(diǎn)事件在微博社交網(wǎng)絡(luò)中的傳播規(guī)律和影響路徑。綜上所述,這個(gè)模塊的設(shè)計(jì)需要充分考慮數(shù)據(jù)獲取、數(shù)據(jù)處理和網(wǎng)絡(luò)構(gòu)建這三個(gè)關(guān)鍵功能,以確保系統(tǒng)能夠高效地分析和利用微博中的熱點(diǎn)事件數(shù)據(jù)2.2.1數(shù)據(jù)獲取系統(tǒng)負(fù)責(zé)對(duì)熱點(diǎn)事件內(nèi)容進(jìn)行正確的采集。采集后的數(shù)據(jù)應(yīng)該被轉(zhuǎn)化為格式化的規(guī)整數(shù)據(jù),以簡化后期數(shù)據(jù)處理過程中的數(shù)據(jù)清洗過程。選擇需要的主題的熱點(diǎn)事件,然后使用微博API獲取相關(guān)數(shù)據(jù)。獲取到數(shù)據(jù)后,進(jìn)行數(shù)據(jù)處理和存儲(chǔ)。最終得到存儲(chǔ)的熱點(diǎn)事件數(shù)據(jù)。下面將用流程圖展示這一過程圖2-1數(shù)據(jù)獲取流程圖熱點(diǎn)事件獲取熱點(diǎn)事件獲取選擇熱點(diǎn)事件主題選擇熱點(diǎn)事件主題存儲(chǔ)數(shù)據(jù)處理數(shù)據(jù)使用A存儲(chǔ)數(shù)據(jù)處理數(shù)據(jù)使用API獲取數(shù)據(jù)2.2.2數(shù)據(jù)分析在數(shù)據(jù)分析過程中,需要在不同維度層面進(jìn)行操作。首先,需要在用戶性別、地域、年齡等屬性上進(jìn)行數(shù)據(jù)統(tǒng)計(jì)分類,對(duì)用戶注冊(cè)時(shí)提交的屬性信息進(jìn)行梳理。對(duì)微博用戶之間的關(guān)系和互動(dòng)進(jìn)行分析,建立微博用戶的社交網(wǎng)絡(luò)。通過研究用戶之間的轉(zhuǎn)發(fā)關(guān)系、評(píng)論關(guān)系等,可以推斷微博熱點(diǎn)事件的傳播模式和影響因素。同時(shí),收集與熱點(diǎn)事件相關(guān)的微博數(shù)據(jù),包括微博內(nèi)容、轉(zhuǎn)發(fā)數(shù)、評(píng)論數(shù)、點(diǎn)贊數(shù)等信息。對(duì)收集到的數(shù)據(jù)進(jìn)行清洗和預(yù)處理,包括去除重復(fù)數(shù)據(jù)、缺失值處理、數(shù)據(jù)格式轉(zhuǎn)換等操作,以確保數(shù)據(jù)的質(zhì)量和一致性。對(duì)微博數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,例如計(jì)算微博的轉(zhuǎn)發(fā)數(shù)、評(píng)論數(shù)、點(diǎn)贊數(shù)的統(tǒng)計(jì)指標(biāo)。另外,還對(duì)微博的傳播路徑和用戶關(guān)注度進(jìn)行了統(tǒng)計(jì)分析,通過時(shí)間維度上的研究用戶關(guān)注熱度的動(dòng)態(tài)變化趨勢,以推測消息內(nèi)容的發(fā)展方向。2.2.3數(shù)據(jù)展示與可視化功能系統(tǒng)將分析所得數(shù)據(jù)可以通過各類圖表的形式進(jìn)行展現(xiàn)。系統(tǒng)的核心目標(biāo)是通過各種圖表形式,向用戶直觀展示微博內(nèi)容的分析結(jié)果。這些圖表種類豐富,包括柱狀圖、餅圖和地域分布圖等,每種圖表都有其特定的用途,例如柱狀圖用于展示微博評(píng)論、點(diǎn)贊和轉(zhuǎn)發(fā)數(shù)量,餅圖則用于描述微博關(guān)注熱度和參與用戶的分類,而地域分布圖則描繪了用戶的地域分布情況。為了實(shí)現(xiàn)這一目標(biāo),系統(tǒng)必須具備兩個(gè)關(guān)鍵功能。首先,它需要能夠根據(jù)從微博獲取的數(shù)據(jù)動(dòng)態(tài)生成各種形式的圖表。這意味著系統(tǒng)必須具備靈活的圖表生成能力,能夠根據(jù)不同類型的數(shù)據(jù)和用戶的需求,自動(dòng)選擇最合適的圖表類型進(jìn)行展示。其次,系統(tǒng)需要在交互界面中以直觀且易于操作的方式展示這些圖表。通過交互界面,用戶可以與圖表進(jìn)行互動(dòng),例如放大、縮小、拖拽等操作,以便更深入地探索數(shù)據(jù),發(fā)現(xiàn)其中的潛在規(guī)律和趨勢。這樣的交互方式不僅提高了用戶的數(shù)據(jù)理解能力,還增強(qiáng)了用戶對(duì)系統(tǒng)的使用體驗(yàn)。因此,系統(tǒng)的這兩項(xiàng)關(guān)鍵功能共同確保了用戶能夠通過圖表直觀地了解微博內(nèi)容的分析結(jié)果,并進(jìn)一步挖掘其中的價(jià)值信息。
第3章系統(tǒng)設(shè)計(jì)3.1前端采集模塊詳細(xì)設(shè)計(jì)3.1.1新浪微博API的數(shù)據(jù)限制考慮到新浪數(shù)據(jù)官方API的高頻訪問限制和第三方應(yīng)用返回結(jié)果數(shù)量的限制,僅依賴單一的官方API是無法滿足系統(tǒng)的功能和性能需求的,特別是在獲取傳輸關(guān)系的業(yè)務(wù)邏輯方面。API不能訪問那些擁有大量重定向功能的單一微博的全部傳輸歷史。下表中摘錄了部分API接口的訪問頻率和次數(shù)限制,這樣地限制使得系統(tǒng)完成數(shù)據(jù)采集的難度大大提高。圖3-1數(shù)據(jù)獲取流程圖接口組名稱每天上限每小時(shí)上限總接口150發(fā)微博接口statuses/updatestatuses/repoststatuses/upload5015發(fā)評(píng)論接口statuses/commentstatuses/reply5015加關(guān)注接口friendships/create50153.1.2采集模式設(shè)計(jì)獲取數(shù)據(jù)方式選擇采用被動(dòng)爬取模式,被動(dòng)爬取模式是一種網(wǎng)絡(luò)數(shù)據(jù)采集方法,它指的是系統(tǒng)或程序通過訪問目標(biāo)網(wǎng)站的頁面,并從頁面內(nèi)容中提取所需的信息,而不需要與目標(biāo)網(wǎng)站的服務(wù)器進(jìn)行直接交互或發(fā)送請(qǐng)求。在這種模式下,系統(tǒng)不會(huì)頻繁地向目標(biāo)網(wǎng)站發(fā)送請(qǐng)求,而是在預(yù)定的時(shí)間間隔內(nèi)定期訪問網(wǎng)站,以避免對(duì)目標(biāo)網(wǎng)站的服務(wù)器造成過大的負(fù)荷或被封禁。被動(dòng)爬取模式通常用于需要定期獲取數(shù)據(jù)、監(jiān)測信息更新或進(jìn)行數(shù)據(jù)分析的場景。例如,一個(gè)新聞聚合網(wǎng)站可以采用被動(dòng)爬取模式,定期訪問各大新聞網(wǎng)站,抓取最新的新聞標(biāo)題和內(nèi)容,然后將這些信息展示給用戶。在這個(gè)過程中,系統(tǒng)會(huì)根據(jù)預(yù)定的時(shí)間計(jì)劃,自動(dòng)觸發(fā)爬取任務(wù),獲取最新數(shù)據(jù),而不需要用戶手動(dòng)操作或觸發(fā)。被動(dòng)爬取模式的優(yōu)點(diǎn)是可以降低對(duì)目標(biāo)網(wǎng)站服務(wù)器的負(fù)荷,同時(shí)可以更加靈活地控制數(shù)據(jù)采集頻率,避免被目標(biāo)網(wǎng)站封禁或限制訪問。然而,由于需要定期訪問網(wǎng)站并提取數(shù)據(jù),因此可能會(huì)存在一定的延遲,無法立即獲取最新信息的缺點(diǎn)。主體使用python爬蟲實(shí)現(xiàn)。爬蟲程序通過發(fā)送HTTP請(qǐng)求獲取網(wǎng)頁數(shù)據(jù),不需要用戶的實(shí)時(shí)交互或授權(quán)。相反,爬蟲程序根據(jù)預(yù)先定義的規(guī)則和邏輯自動(dòng)地訪問網(wǎng)頁并提取數(shù)據(jù),然后進(jìn)行處理和存儲(chǔ)。被動(dòng)采集模式通常用于從網(wǎng)站上收集數(shù)據(jù),這些數(shù)據(jù)對(duì)公眾或者特定用戶是公開可見的,不需要用戶的個(gè)人身份驗(yàn)證或者登錄。圖3-2數(shù)據(jù)采集模式圖開始采集開始采集發(fā)送請(qǐng)求,獲取網(wǎng)頁數(shù)據(jù)解析網(wǎng)頁數(shù)據(jù),提取信息處理和存儲(chǔ)數(shù)據(jù)3.1.3Python爬蟲采集器本系統(tǒng)采用被動(dòng)采集模式來構(gòu)建爬蟲采集器,這種模式通常被用于從網(wǎng)站上搜集數(shù)據(jù)。這些數(shù)據(jù)對(duì)于公眾或特定用戶都是公開可見的,因此不需要用戶的個(gè)人身份驗(yàn)證或登錄。這種模式適用于大多數(shù)網(wǎng)頁數(shù)據(jù)抓取和分析任務(wù)。通過這種方式,系統(tǒng)可以實(shí)時(shí)地獲取最新的社會(huì)熱點(diǎn)和話題,使用戶能夠及時(shí)了解公眾輿論、關(guān)注焦點(diǎn),并全面獲取大量微博數(shù)據(jù)。此外,系統(tǒng)還可以根據(jù)用戶的需求定制爬取策略和過濾規(guī)則,從而提高數(shù)據(jù)的質(zhì)量和可用性。Python爬蟲采集器的應(yīng)用使得熱點(diǎn)事件數(shù)據(jù)的獲取自動(dòng)化,并減少了人工成本和工作量。同時(shí),它也提高了數(shù)據(jù)獲取的效率和準(zhǔn)確性,為用戶的決策和分析提供了重要的參考依據(jù)。這種自動(dòng)化的數(shù)據(jù)獲取方式不僅節(jié)省了時(shí)間,還能確保數(shù)據(jù)的及時(shí)性和全面性,為用戶提供了更好的信息支持。圖3-3爬蟲采集流程圖 是 否根據(jù)關(guān)鍵詞,拼接全部URL根據(jù)關(guān)鍵詞,拼接全部URL模擬請(qǐng)求判斷頁面是否爬取完成解析頁面模擬請(qǐng)求數(shù)據(jù)庫結(jié)束提取一個(gè)URL開始3.2數(shù)據(jù)處理和存儲(chǔ)模塊設(shè)計(jì)數(shù)據(jù)處理模塊的設(shè)計(jì)中,需要考慮數(shù)據(jù)清洗、解析、分析和可視化等多個(gè)方面,以確保采集到的數(shù)據(jù)能夠被準(zhǔn)確、高效地處理和利用。3.2.1數(shù)據(jù)預(yù)處理與融合采集結(jié)束后,原始數(shù)據(jù)可能包含了重復(fù)數(shù)據(jù)、缺失值以及異常數(shù)據(jù),因此需要去除重復(fù)的數(shù)據(jù)、填充或刪除缺失值、以及檢測和處理異常的數(shù)據(jù),以保證數(shù)據(jù)的質(zhì)量和一致性。解析原始數(shù)據(jù)是將數(shù)據(jù)轉(zhuǎn)換成結(jié)構(gòu)化的格式,方便后續(xù)處理和分析。針對(duì)微博數(shù)據(jù),需要解析微博內(nèi)容、轉(zhuǎn)發(fā)數(shù)、評(píng)論數(shù)等信息,并將其存儲(chǔ)在數(shù)據(jù)結(jié)構(gòu)中,例如字典、列表或數(shù)據(jù)庫表中。數(shù)據(jù)預(yù)處理和整合的完整流程如下:(1)定時(shí)掃描數(shù)據(jù)。鑒于系統(tǒng)會(huì)將收集到的社交網(wǎng)絡(luò)數(shù)據(jù)保存為JSON格式的文件,因此有必要利用JavaTimer定時(shí)器定期掃描這些存儲(chǔ)的數(shù)據(jù)文件夾。(2)數(shù)據(jù)預(yù)處理。該模塊的主要任務(wù)是處理無意義、重復(fù)或空的數(shù)據(jù)。例如,數(shù)據(jù)中的某些屬性可能含有HTML標(biāo)簽或大量的空格,這些數(shù)據(jù)是冗余且無意義的,可以通過正則表達(dá)式來排除。若采集到的帖子文本數(shù)據(jù)可能為空,系統(tǒng)會(huì)選擇忽略該帖子,不進(jìn)行存儲(chǔ)。(3)數(shù)據(jù)整合。該模塊負(fù)責(zé)對(duì)來自多個(gè)來源的不同結(jié)構(gòu)、格式、來源或類型的數(shù)據(jù)進(jìn)行匹配和整合。因此,需要對(duì)帖子的內(nèi)容屬性、用戶的屬性以及關(guān)系的屬性進(jìn)行明確表示。(4)數(shù)據(jù)存儲(chǔ)。將經(jīng)過預(yù)處理和整合后的數(shù)據(jù)存儲(chǔ)到Neo4j數(shù)據(jù)庫中。在數(shù)據(jù)存儲(chǔ)過程中,系統(tǒng)會(huì)同時(shí)進(jìn)行索引構(gòu)建和內(nèi)容情感分析的工作。3.2.2內(nèi)容分析利用統(tǒng)計(jì)分析、文本挖掘、情感分析、網(wǎng)絡(luò)分析等方法對(duì)數(shù)據(jù)進(jìn)行分析。統(tǒng)計(jì)分析可以用于計(jì)算微博的轉(zhuǎn)發(fā)量、點(diǎn)贊分布等指標(biāo),文本挖掘可以用于提取關(guān)鍵詞、主題分析,情感分析可以用于分析用戶情感傾向,網(wǎng)絡(luò)分析可以用于構(gòu)建微博用戶的社交網(wǎng)絡(luò)和分析用戶之間的關(guān)系。3.2.3數(shù)據(jù)庫設(shè)計(jì)處理和分析好的數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫或者文件中,以備后續(xù)的查詢和使用。為了存儲(chǔ)熱點(diǎn)事件數(shù)據(jù),可以設(shè)計(jì)一個(gè)名為"hot_events"的數(shù)據(jù)表。每當(dāng)發(fā)生一個(gè)新的熱點(diǎn)事件,例如在微博上討論火爆的話題,相關(guān)數(shù)據(jù)將被記錄在此表中。每一行代表一個(gè)熱點(diǎn)事件,其中包括事件的唯一標(biāo)識(shí)符、主題、日期、來源、內(nèi)容以及轉(zhuǎn)發(fā)數(shù)量、評(píng)論數(shù)量、點(diǎn)贊數(shù)量等數(shù)據(jù)。這些信息可以幫助分析熱點(diǎn)事件的趨勢、影響力以及用戶對(duì)事件的反應(yīng)和情感傾向。以下是該表的具體設(shè)計(jì):圖3-4hot_events表列名數(shù)據(jù)類型描述event_idINT事件ID,主鍵event_topicVARCHAR(255)事件主題event_dateDATE事件日期event_sourceVARCHAR(255)事件來源event_contentTEXT事件內(nèi)容repost_countINT轉(zhuǎn)發(fā)數(shù)量comment_countINT評(píng)論數(shù)量like_countINT點(diǎn)贊數(shù)量數(shù)據(jù)存儲(chǔ)模塊主要負(fù)責(zé)存儲(chǔ)系統(tǒng)前端采集模塊收集的數(shù)據(jù),并響應(yīng)系統(tǒng)業(yè)務(wù)數(shù)據(jù)挖掘模塊的讀寫數(shù)據(jù)查詢。從功能角度來看,存儲(chǔ)模塊的性能直接影響到系統(tǒng)的整體功能完整性和效率。因此,在設(shè)計(jì)過程中需要特別關(guān)注數(shù)據(jù)存儲(chǔ)模塊的能力,確保其能夠高效地存儲(chǔ)大量數(shù)據(jù)并滿足系統(tǒng)的需求。最后,通過將分析結(jié)果以圖表、圖形等形式進(jìn)行可視化展示,可以提高數(shù)據(jù)的可理解性和可視化性。這種可視化展示方式不僅使得數(shù)據(jù)更加直觀易懂,還能夠幫助用戶更快速地理解數(shù)據(jù)背后的信息和規(guī)律,從而更好地支持決策和分析工作。3.2.4熱點(diǎn)話題發(fā)現(xiàn)熱門話題指的是在特定時(shí)間和范圍內(nèi)引起公眾最大關(guān)注的熱點(diǎn)議題。考慮到社交網(wǎng)絡(luò)數(shù)據(jù)的龐大性以及涵蓋的話題廣泛性,傳統(tǒng)的分類算法往往無法有效地提取熱點(diǎn)話題。因此,我們選擇了將聚類算法與關(guān)鍵詞提取算法相結(jié)合的策略。該模塊使用K-Means聚類方法對(duì)文章的文本數(shù)據(jù)進(jìn)行分類,并使用TF-IDF方法確定每次分類中分配給詞+的權(quán)重。圖3-4熱點(diǎn)話題發(fā)現(xiàn)流程圖開始開始熱搜榜帖子文本數(shù)據(jù)預(yù)處理文本向量化文本聚類關(guān)鍵詞提取熱點(diǎn)話題展示結(jié)束本模塊實(shí)現(xiàn)熱點(diǎn)話題發(fā)現(xiàn)的具體步驟如下所述:(1)數(shù)據(jù)預(yù)處理。系統(tǒng)接收大量的信息數(shù)據(jù),以了解公眾對(duì)某一事件的看法,識(shí)別趨勢性話題,并通過輸入與事件相關(guān)的關(guān)鍵字搜索信息。為確保數(shù)據(jù)的最終結(jié)果,系統(tǒng)首先要對(duì)信息文本數(shù)據(jù)進(jìn)行預(yù)處理。數(shù)據(jù)的質(zhì)量對(duì)文本的聚類效果有重要影響。信息數(shù)據(jù)的預(yù)處理主要包括分詞、刪除停頓詞、刪除數(shù)字、標(biāo)點(diǎn)符號(hào)和特殊字符等噪聲信息。(2)文本向量化。在這一步驟中,創(chuàng)建了一個(gè)向量空間模型,并通過計(jì)算每個(gè)詞的TF-IDF值對(duì)文本進(jìn)行向量化。我們將每篇帖子視為一個(gè)文檔,并計(jì)算每個(gè)詞在該文檔中出現(xiàn)的頻率,即TF。然后,我們?yōu)榈谝粋€(gè)計(jì)算出的IDF文件中的每個(gè)詞提取文檔的反頻率,即IDF。得到文本中單詞的TF和IDF后,我們可以將這兩個(gè)值相乘,得到TF-IDF值。將這些TF-IDF值作為單詞的單詞向量,并將這些向量合并在一起,這就完成了后文本的向量化過程。(3)文本聚類。完成帖子文本向量化后,對(duì)所有帖子文本進(jìn)行聚類。該系統(tǒng)是基于K-Means聚類算法進(jìn)行構(gòu)建的。K-Means算法屬于非分層的聚類方法,其主要目的是基于數(shù)據(jù)對(duì)象之間的距離來將其分類為特定的K類。把帖子的文本當(dāng)作聚類的目標(biāo),首先從事務(wù)文本數(shù)據(jù)中隨機(jī)選擇K個(gè)特征作為初始聚類中心,然后計(jì)算數(shù)據(jù)集中所有數(shù)據(jù)特征到聚類中心的距離,并根據(jù)最小距離原則將數(shù)據(jù)特征分配給最近的聚類。接下來,我們對(duì)K個(gè)聚類的中心點(diǎn)進(jìn)行了重新計(jì)算,并選擇它作為新的聚類中心。在最小距離處指定最近的聚類,重復(fù)該過程計(jì)算聚類中心,直到聚類中心不會(huì)發(fā)生變化。(4)關(guān)鍵詞抽取。通過對(duì)文本進(jìn)行聚類分析,我們識(shí)別出了K個(gè)不同的類別,并且在每一個(gè)類別里都有一定數(shù)量的帖子存在。通過對(duì)這些帖子進(jìn)行關(guān)鍵詞分析,可以挖掘出熱點(diǎn)話題并將其分類為熱門類、冷點(diǎn)類和次熱類。該系統(tǒng)的主要職責(zé)是從各個(gè)分類中抽取關(guān)鍵詞,作為當(dāng)前的熱門討論話題關(guān)鍵詞。這一步是通過把各類別的全部記錄數(shù)據(jù)歸并為一個(gè)大文檔,并對(duì)文檔內(nèi)各個(gè)字進(jìn)行TF計(jì)算,再由事先統(tǒng)計(jì)好的文檔得到各個(gè)字的IDF而實(shí)現(xiàn)。再將TF與IDF進(jìn)行乘法運(yùn)算,從而計(jì)算出每個(gè)單詞的TF-IDF數(shù)值,根據(jù)這些TF-IDF數(shù)值從高到低進(jìn)行排序,并從中篩選出最具分量的部分作為關(guān)鍵詞。(5)熱點(diǎn)話題展示。系統(tǒng)把聚類后的數(shù)據(jù)及抽取出的關(guān)鍵詞轉(zhuǎn)移到前端,前端以繪制聚類圖的方式顯示帖子數(shù)據(jù),同時(shí)用折線圖直觀地顯示所得到的熱點(diǎn)話題。3.3系統(tǒng)可視化數(shù)據(jù)展示模塊詳細(xì)設(shè)計(jì)經(jīng)過對(duì)微博轉(zhuǎn)發(fā)過程的數(shù)據(jù)進(jìn)行深入分析后,系統(tǒng)能夠收集、統(tǒng)計(jì)和挖掘大量與該微博熱點(diǎn)話題相關(guān)的數(shù)據(jù)。其中包括消息流轉(zhuǎn)軌跡,重要轉(zhuǎn)發(fā)節(jié)點(diǎn),和轉(zhuǎn)發(fā)人群所屬性質(zhì)等重要消息。在完成數(shù)據(jù)分析之后,系統(tǒng)將最終的分析結(jié)果傳遞給可視化數(shù)據(jù)展示模塊。這個(gè)模塊的主要任務(wù)是以直觀的方式呈現(xiàn)數(shù)據(jù),以方便用戶使用。關(guān)鍵問題在于如何獲取數(shù)據(jù)分析的結(jié)果,并確定采用何種方式對(duì)這些數(shù)據(jù)結(jié)果進(jìn)行展示。這可能涉及到選擇合適的圖表、圖形或其他可視化方式,以有效地傳達(dá)分析結(jié)果,并使用戶能夠直觀地理解數(shù)據(jù)背后的含義和趨勢。通過可視化數(shù)據(jù)展示模塊用戶能夠更加方便的對(duì)數(shù)據(jù)進(jìn)行探究,找到其規(guī)律與關(guān)聯(lián),以便于更好的進(jìn)行決策與分析。3.3.1可視化數(shù)據(jù)展示模塊的數(shù)據(jù)交互接口系統(tǒng)可視化數(shù)據(jù)展示模塊,用于對(duì)Ajax請(qǐng)求執(zhí)行異步數(shù)據(jù)讀寫操作,無需再刷新網(wǎng)頁即可實(shí)現(xiàn),Ajax將后臺(tái)數(shù)據(jù)以異步請(qǐng)求的方式裝載到頁面中顯示。系統(tǒng)會(huì)提供相應(yīng)HTTP協(xié)議請(qǐng)求接口,用于數(shù)據(jù)操作。同時(shí),在后端數(shù)據(jù)庫中也能夠?qū)崿F(xiàn)圖形顯示和編輯功能。通過JSON技術(shù)的應(yīng)用,使得網(wǎng)頁設(shè)計(jì)工作變得更加簡單、高效,從而提高工作效率,降低了成本。在展示微博點(diǎn)擊量的某些屬性時(shí),可視化數(shù)據(jù)展示模塊需要調(diào)用JSON文件。此外,系統(tǒng)還需將經(jīng)過分析的JSON結(jié)果文件作為一個(gè)可訪問的資源,提供相應(yīng)的訪問接口。按照這些要求,將用于模塊間交互的接口規(guī)定如下:圖3-5模塊間接口定義表接口名稱訪問方式返回類型備注總點(diǎn)擊量接口HTTP請(qǐng)求JSON獲取熱點(diǎn)事件的總點(diǎn)擊量年齡占比接口HTTP請(qǐng)求JSON獲取各年齡階段占比地圖分布接口HTTP請(qǐng)求JSON獲取點(diǎn)擊量在地圖分布性別占比接口HTTP請(qǐng)求JSON獲取用戶性別占比3.3.2數(shù)據(jù)分析結(jié)果的展現(xiàn)形式數(shù)據(jù)分析結(jié)果被提取后,系統(tǒng)將以圖表的形式呈現(xiàn)數(shù)據(jù)分析結(jié)果。在數(shù)據(jù)的預(yù)處理后,為了確保了其質(zhì)量和準(zhǔn)確性以及清晰的數(shù)據(jù)可以更好地支持可視化展示。將使用不同的圖表類型、顏色和字體大小來實(shí)現(xiàn)。保持布局簡潔,避免信息過載,使觀眾能夠迅速理解展示的內(nèi)容。通過Ajax請(qǐng)求與數(shù)據(jù)庫的連接來實(shí)現(xiàn),確保大屏上的數(shù)據(jù)始終保持最新數(shù)據(jù),實(shí)時(shí)更新可以提供更準(zhǔn)確和有用的信息,使用戶能夠?qū)崟r(shí)監(jiān)控和分析數(shù)據(jù)。可視化的數(shù)據(jù)展示界面不僅可以展示餅狀圖,還能展示地理位置分布圖和各種個(gè)性化插件。
第4章系統(tǒng)實(shí)現(xiàn)4.1系統(tǒng)前端采集模塊4.1.1新浪微博開放平臺(tái)微博,作為目前流行的社交網(wǎng)絡(luò)工具,已逐漸轉(zhuǎn)變?yōu)槿藗內(nèi)粘I钪胁豢苫蛉钡木W(wǎng)絡(luò)服務(wù)工具。微博具有信息發(fā)布及時(shí)、傳播迅速等特點(diǎn),其在企業(yè)營銷和政府管理方面也得到廣泛的運(yùn)用。作為國內(nèi)規(guī)模最大的微博客服務(wù)平臺(tái),已經(jīng)構(gòu)建了一個(gè)具有巨大商業(yè)潛力的生態(tài)環(huán)境。隨著用戶數(shù)量和用戶數(shù)量不斷增加,微博在為廣大用戶提供便利信息交流的同時(shí),也產(chǎn)生了一系列問題。因此,新浪微博開放其平臺(tái)內(nèi)的眾多接口,以便第三方機(jī)構(gòu)能夠構(gòu)建基于新浪微博平臺(tái)的相關(guān)衍生應(yīng)用系統(tǒng)。新浪微博已經(jīng)建立了一個(gè)開放的API訪問系統(tǒng),供其他網(wǎng)站和應(yīng)用程序使用。用戶只需登錄新浪微博開放平臺(tái),并注冊(cè)一個(gè)應(yīng)用賬戶,就可以輕松地獲取所需的數(shù)據(jù)。目前微博開放平臺(tái)用戶身份鑒權(quán)主要采用的是OAuth2.0。另外,為了方便開發(fā)者開發(fā)、測試自己的應(yīng)用,還提供了開發(fā)者自身授權(quán)的身份鑒權(quán)方式,但開發(fā)者自身授權(quán)僅適用于應(yīng)用所屬的開發(fā)者自己調(diào)用接口。4.1.2平臺(tái)注冊(cè)與OAuth2.0認(rèn)證協(xié)議打開微博開發(fā)者平臺(tái),采用網(wǎng)站接入WEB的方式,采用賬號(hào)登陸或安全登陸等方式,如無微博賬戶,可點(diǎn)擊立即注冊(cè)自行注冊(cè)一個(gè)。登陸后點(diǎn)擊立即接入,此時(shí)可以看到新建成功的AppKey與AppSecret。在獲取平臺(tái)的應(yīng)用的AppKey與AppSecret后,對(duì)OAuth2.0進(jìn)行授權(quán)設(shè)置。至此,微博開發(fā)者平臺(tái)相關(guān)配置已全部完成。之后,可以用平臺(tái)開放的各種API接口,進(jìn)行用戶登錄認(rèn)證和數(shù)據(jù)采集。本系統(tǒng)采用新浪微博提供的OAuth2.0協(xié)議進(jìn)行用戶登錄認(rèn)證。OAuth2.0是一個(gè)業(yè)界標(biāo)準(zhǔn)的授權(quán)協(xié)議,這里的授權(quán)是以委派代理的方式。可以這樣理解,OAuth2.0提供一種協(xié)議交互框架,讓某個(gè)應(yīng)用能夠以安全地方式獲取到用戶的委派書,這個(gè)委派書在OAuth2.0中就是訪問令牌,隨后應(yīng)用便可以使用該委派書,代表用戶來訪問用戶的相關(guān)資源,同時(shí)保證該用戶數(shù)據(jù)資源的安全性不受影響。4.1.3官方API采集器數(shù)據(jù)獲取在新浪微博的開發(fā)平臺(tái)/wiki/微博API上,詳細(xì)介紹了所有調(diào)用細(xì)節(jié),包括每個(gè)接口的功能、參數(shù)詳解以及返回結(jié)果示例。利用新浪微博提供的API,編寫HTTP請(qǐng)求以獲取不同類型的數(shù)據(jù)資源。在構(gòu)建請(qǐng)求時(shí),需要選擇適當(dāng)?shù)腁PI終端點(diǎn),并傳遞相關(guān)參數(shù)以滿足特定的需求,這些終端點(diǎn)包括需求的信息,如用戶信息、微博內(nèi)容、評(píng)論、轉(zhuǎn)發(fā)等不同的資源。接著使用獲取的訪問令牌,向新浪微博API發(fā)送HTTP請(qǐng)求,并等待API返回相應(yīng)的數(shù)據(jù)。收到數(shù)據(jù)后,對(duì)其進(jìn)行預(yù)處理和一系列分析,提取所需的信息,并根據(jù)不同場景的需求進(jìn)行進(jìn)一步的操作,將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫中、可視化展示,或在界面上展示數(shù)據(jù)等。4.2數(shù)據(jù)分析模塊4.2.1數(shù)據(jù)處理——預(yù)處理為了數(shù)據(jù)展示最后網(wǎng)頁的美觀,在網(wǎng)頁編輯時(shí)標(biāo)簽屬性值中就會(huì)包含一些不重要的信息,也就是不需要的數(shù)據(jù)。當(dāng)頁面分析器檢索標(biāo)簽屬性值數(shù)據(jù)時(shí),也會(huì)檢索到這些不重要數(shù)據(jù),因此還需要一個(gè)降噪預(yù)處理步驟來去除這些不需要的信息。4.2.2數(shù)據(jù)處理——整合與分析消除噪聲后,將數(shù)據(jù)整合到統(tǒng)一的數(shù)據(jù)表中,要包括原始數(shù)據(jù)和衍生數(shù)據(jù),再根據(jù)需求將不同的數(shù)據(jù)進(jìn)行合并整理,形成完整數(shù)據(jù)集。將整合后的數(shù)據(jù)進(jìn)行分析,包括描述性分析、關(guān)聯(lián)性分析,通過分析微博用戶的行為和態(tài)度,了解事件的發(fā)展趨勢和用戶態(tài)度。4.3數(shù)據(jù)可視化展示模塊4.3.1前端展示實(shí)現(xiàn)技術(shù)隨著不斷改進(jìn)HTML5、Python庫等前端技術(shù),分析結(jié)果的呈現(xiàn)方式變得更加直觀和便捷。在當(dāng)今的互聯(lián)網(wǎng)時(shí)代,數(shù)據(jù)可視化已經(jīng)成為信息展示和交互的重要方式。特別是在前端開發(fā)領(lǐng)域,可視化界面的應(yīng)用越來越廣泛,涉及到數(shù)據(jù)監(jiān)控、分析和決策等多種場景。在前端展示界面與系統(tǒng)后臺(tái)的互動(dòng)方式以及圖形界面的呈現(xiàn)方面,都有豐富的資源可供利用。除了傳統(tǒng)的表格數(shù)據(jù)外,新的可視化數(shù)據(jù)展示界面還支持柱狀圖、餅圖、折線圖、地圖分布圖以及滿足各種不同需求的顯示。對(duì)于常規(guī)圖表的數(shù)據(jù)展示,Echarts可視化圖表庫提供了豐富的圖表類型和靈活的配置項(xiàng),可以滿足各種可視化需求。4.3.2Sigma.js框架Sigma.js是一個(gè)獨(dú)立的不依賴于第三方,用于創(chuàng)建交互式網(wǎng)絡(luò)圖表和圖形的JavaScript庫。它基于HTML5Canvas技術(shù),支持加載JSON或GEXF文件格式??梢暂p松地在網(wǎng)頁上展示各種類型的網(wǎng)絡(luò)圖表,包括節(jié)點(diǎn)連線圖、力導(dǎo)向圖、地理網(wǎng)絡(luò)圖等。它專門針對(duì)瀏覽器前端展示設(shè)計(jì),能夠非常好的生成靜態(tài)或者動(dòng)態(tài)的互動(dòng)網(wǎng)絡(luò)圖形。Sigma.js具有靈活的配置選項(xiàng)和豐富的功能,支持節(jié)點(diǎn)和連線的自定義樣式、交互式操作(如拖動(dòng)、縮放、點(diǎn)擊等)、動(dòng)畫效果等,使得用戶可以根據(jù)自己的需求創(chuàng)建出高度定制化和富有交互性的網(wǎng)絡(luò)圖表。由于其性能優(yōu)異和易用性,Sigma.js被廣泛應(yīng)用于網(wǎng)絡(luò)分析、社交網(wǎng)絡(luò)可視化、地理信息系統(tǒng)等領(lǐng)域。使用框架完成靜態(tài)導(dǎo)向圖的交互式顯示非常簡單,只需加載JSON圖形文件和sigma.js數(shù)據(jù)即可。在展示過程中,可以根據(jù)基礎(chǔ)設(shè)施接口配置圖形文件的顯示模式和動(dòng)態(tài)效果。該框架支持通過HTML5Canvas對(duì)圖像進(jìn)行數(shù)字顯示,包括放大和縮小、平移、動(dòng)態(tài)突出顯示和其他效果。4.3.2Echarts圖表框架其他圖表系統(tǒng)使用Echarts框架展示,該框架功能更為強(qiáng)大,而配置也更為復(fù)雜。Echarts框架是由百度公司開發(fā)并開源的一套圖表庫,旨在為Web頁面提供豐富多彩、交互式的圖表和數(shù)據(jù)可視化功能。它集成了幾乎所有常見的圖表元素,并實(shí)現(xiàn)了許多先進(jìn)的用戶交互方式,具有極高的直觀性和易用性。它包含了多種不同界面元素,其實(shí)現(xiàn)結(jié)構(gòu)的理解不是很復(fù)雜。系統(tǒng)利用Echarts提供全面的圖表支持,只需配置相關(guān)圖表和數(shù)據(jù)API接口,就能實(shí)現(xiàn)優(yōu)秀的數(shù)據(jù)展示和交互效果。在本系統(tǒng)中,對(duì)需要展示的餅圖標(biāo)題、提示內(nèi)容、圖例、工具框、數(shù)據(jù)內(nèi)容數(shù)組等屬性進(jìn)行了配置??蚣軙?huì)自動(dòng)分析這些JSON數(shù)據(jù),并識(shí)別相關(guān)屬性的結(jié)構(gòu)化數(shù)據(jù)。這些名稱值根據(jù)其命名法定義指標(biāo)的各種屬性,必須符合JSON語法,并可使用JSON對(duì)象作為相應(yīng)字段的值。JSON數(shù)據(jù)的動(dòng)態(tài)加載需要Echarts框架的支持,該框架可用于通過Ajax請(qǐng)求動(dòng)態(tài)訪問系統(tǒng)的JSON數(shù)據(jù)內(nèi)容。該框架提供了一個(gè)相應(yīng)的接口,以便用戶啟動(dòng)查詢來動(dòng)態(tài)加載數(shù)據(jù)。4.3.3熱點(diǎn)話題發(fā)現(xiàn)熱點(diǎn)話題是指海量用戶對(duì)某一事物進(jìn)行廣泛而集中地探討的對(duì)象。首先,利用聚類方法對(duì)所有的帖子數(shù)據(jù)進(jìn)行了分類,并據(jù)此繪制了一個(gè)聚類圖,其中每個(gè)類別都代表了一個(gè)熱門的話題。該系統(tǒng)利用關(guān)鍵詞提取技術(shù)從每個(gè)熱門話題類別中提取關(guān)鍵詞,并利用詞云技術(shù)將其呈現(xiàn)出來。圖4-1熱點(diǎn)話題聚類圖
OTS與/OPENDTP模型的集成第5章相關(guān)部分代碼以及可視化展示5.1相關(guān)代碼圖5-1響應(yīng)微博爬蟲數(shù)據(jù)代碼defdo_GET(self):#響應(yīng)微博爬蟲數(shù)據(jù)ifself.path.find("/weibo.json")>=0:self.send_response(200)self.send_header("Content-type","json")self.end_headers()data=self.scrapyWB.get_echarts_option()rspstr=json.dumps(data)self.wfile.write(rspstr.encode("utf-8"))else:#響應(yīng)其他的json文件SimpleHTTPRequestHandler.do_GET(self)return圖5-2可視化數(shù)據(jù)部分代碼classMainWindow(QMainWindow):def__init__(self,*args,**kwargs):super().__init__(*args,**kwargs)self.loadfinished=Falseself.setWindowTitle('大屏展示')self.showMinimized()#全屏顯示self.setGeometry(0,0,128,76)self.webview=WebEngineView()self.webview.load(QUrl(index_url))self.setCentralWidget(self.webview)QShortcut(QtGui.QKeySequence("Escape"),self,self.Esc)self.webview.loadFinished.connect(self.SetLoadFinished)_thread.start_new_thread(HttpServer,())_thread.start_new_thread(self.ChangeData,())defSetLoadFinished(self):self.loadfinished=True#模擬刷新數(shù)據(jù)defChangeData(self):while1:time.sleep(1)#頁面加載完畢再開始刷新數(shù)據(jù)ifself.loadfinished==False:continuechange_all_json()#change_all_db()self.webview.page().runJavaScript('''async_data()''')#按ESC全屏或縮小defEsc(self):ifself.isFullScreen==True:self.isFullScreen=False#不加這句的話,標(biāo)題欄就看不到了self.showNormal()#設(shè)置固定寬高self.setGeometry(GetSystemMetrics(0)/2,GetSystemMetrics(1)/2,1280,768)#再移動(dòng)到屏幕中央screen=QDesktopWidget().screenGeometry()size=self.geometry()self.move((screen.width()-size.width())/2,(screen.height()-size.height())/2)else:self.showFullScreen()self.isFullScreen=True圖5-3爬取數(shù)據(jù)部分代碼defgen_echarts_option(self):print(time.asctime(),"startgen_echarts_option")#Timer定時(shí)器,10s執(zhí)行一次任務(wù),更新echarts_option內(nèi)容Timer(10.0,self.gen_echarts_option).start()dianzan_list=[]pinglun_list=[]zhuanfa_list=[]title_list=[]try:#發(fā)起瀏覽器請(qǐng)求self.browser.get(self.url)#先等待元素加載完成,否則find_elements的執(zhí)行結(jié)果為空WebDriverWait(self.browser,8,0.5).until(lambdax:x.find_element(By.ID,"pl_unlogin_home_feed").is_displayed())exceptExceptionase:print(e)returnnodes=self.browser.find_elements(By.CLASS_NAME,'list_des')iflen(nodes)==0:print("parse未找到節(jié)點(diǎn)list_des")returnfornodeinnodes:try:#標(biāo)題單個(gè)節(jié)點(diǎn)title=node.find_element(By.CLASS_NAME,'S_txt1').texttitle_list.append(title)exceptExceptionase:print('title_list',e)try:#轉(zhuǎn)發(fā)點(diǎn)贊評(píng)論的列表節(jié)點(diǎn)zhuan_dian_ping_list=node.find_elements(By.TAG_NAME,'em')dianzan_list.append(zhuan_dian_ping_list[1].text)pinglun_list.append(zhuan_dian_ping_list[3].text)zhuanfa_list.append(zhuan_dian_ping_list[5].text)exceptExceptionase:print('zhuan_dian_ping_list',e)#生成echarts的option數(shù)據(jù)self.echarts_option={'legend':{'data':['點(diǎn)贊量','評(píng)論量','轉(zhuǎn)發(fā)量']},'yAxis':{'name':'關(guān)鍵詞','data':title_list},'series':[{'name':'點(diǎn)贊量','data':dianzan_list},{'na
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 經(jīng)濟(jì)法計(jì)算題題目及答案
- 醫(yī)共體工作制度
- 集美疾控面試題目及答案
- 四心談話問答題目及答案
- 養(yǎng)老院老人心理咨詢師晉升制度
- 養(yǎng)老院老人入住簽字制度
- 養(yǎng)老院老人康復(fù)設(shè)施維修人員職業(yè)發(fā)展規(guī)劃制度
- 幼教繪畫面試題目及答案
- 養(yǎng)老院老年人活動(dòng)組織制度
- 大人的思考題目及答案
- 2025年上交所金融筆試題目及答案
- 服務(wù)外包人員保密管理制度(3篇)
- 2026中國電信四川公用信息產(chǎn)業(yè)有限責(zé)任公司社會(huì)成熟人才招聘備考題庫及答案詳解(奪冠系列)
- 成都高新區(qū)桂溪街道公辦幼兒園招聘編外人員考試備考題庫及答案解析
- 2025年醫(yī)院病歷管理操作規(guī)范
- 汽車后市場培訓(xùn)課件
- 2026云南保山電力股份有限公司校園招聘50人筆試備考題庫及答案解析
- GB 4053.2-2025固定式金屬梯及平臺(tái)安全要求第2部分:斜梯
- 2026屆上海市長寧區(qū)市級(jí)名校高一上數(shù)學(xué)期末學(xué)業(yè)質(zhì)量監(jiān)測模擬試題含解析
- 2026年煙草公司筆試綜合試題及考點(diǎn)實(shí)操指引含答案
- 九年級(jí)寒假期末總結(jié)課件
評(píng)論
0/150
提交評(píng)論