亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Flask框架的社交網(wǎng)站數(shù)據(jù)爬取及分析

        2022-04-20 11:14:52余曉帆朱麗青
        微型電腦應(yīng)用 2022年3期
        關(guān)鍵詞:趨勢(shì)曲線節(jié)點(diǎn)

        余曉帆, 朱麗青

        (杭州網(wǎng)易云音樂科技有限公司,浙江,杭州 310052)

        0 引言

        隨著互聯(lián)網(wǎng)的飛速發(fā)展,人們?cè)诰W(wǎng)上尋找信息的渠道越來越多[1-2]?;ヂ?lián)網(wǎng)用戶只能從少數(shù)門戶網(wǎng)站獲取知識(shí)和信息的時(shí)代已經(jīng)一去不復(fù)返了。更專業(yè)、更詳細(xì)的信息來源逐漸形成。與以往的網(wǎng)站相比,新的信息渠道主要有2個(gè)突出特點(diǎn)。一個(gè)特點(diǎn)是流動(dòng)性和碎片化[3-4]。幾年前,互聯(lián)網(wǎng)用戶只能通過一臺(tái)通過電纜連接到互聯(lián)網(wǎng)的個(gè)人電腦來獲取信息。如今的互聯(lián)網(wǎng)用戶只要擁有一部帶有數(shù)據(jù)服務(wù)的普通手機(jī),就可以隨時(shí)隨地獲取豐富的信息。另一個(gè)特點(diǎn)是用戶參與度增加[5-6]。過去,互聯(lián)網(wǎng)用戶只能被動(dòng)地接收門戶網(wǎng)站提供的信息和服務(wù),很少有機(jī)會(huì)產(chǎn)生或傳播信息。但是現(xiàn)在,越來越多的用戶生成內(nèi)容(User Generated Content,UGC)服務(wù)被越來越頻繁地使用[7-11]。其中,社交平臺(tái)Facebook和Twitter是典型的由用戶創(chuàng)建所有信息的平臺(tái)。例如,視頻網(wǎng)站AcFun和BiliBili上的所有視頻和彈出字幕都是由用戶生成和上傳的。

        在這些平臺(tái)中,社交問答平臺(tái)發(fā)展尤其迅速[12]。社交問答平臺(tái)是指用戶可以以特定格式發(fā)布特定主題問題的平臺(tái)。社交問答平臺(tái)允許所有用戶通過瀏覽平臺(tái)、回答問題、發(fā)表評(píng)論、投票贊成或反對(duì)答案等方式參與在線討論。同時(shí),大多數(shù)用戶認(rèn)同的答案也將在平臺(tái)中凸顯出來。在社交問答社區(qū),如知乎,每分鐘都會(huì)有很多熱門話題和新聞被討論,甚至被創(chuàng)造出來。近年來,許多新聞?shì)浾摰陌l(fā)源地也不再是傳統(tǒng)媒體,而是社會(huì)問答社區(qū)。究其原因,是新聞和意見雖然粗糙但真實(shí),沒有經(jīng)過新聞人的加工和潤(rùn)色。此外,用戶可以表達(dá)自己的真實(shí)想法,不必?fù)?dān)心自己的話是否會(huì)被曲解或修改。

        因此,有必要對(duì)社會(huì)問答社區(qū)的數(shù)據(jù)進(jìn)行采集和分析。本文的主要?jiǎng)?chuàng)新點(diǎn)如下。

        (1)選擇一個(gè)適合本研究的問答平臺(tái),并且能夠擴(kuò)展到其他類似平臺(tái)。分析該平臺(tái)數(shù)據(jù)采集的難點(diǎn),提出實(shí)現(xiàn)數(shù)據(jù)采集系統(tǒng)的解決方案。系統(tǒng)包括用戶信息存儲(chǔ)模塊、高度匿名、高可用的代理維護(hù)模塊、節(jié)點(diǎn)采集解析模塊和數(shù)據(jù)存儲(chǔ)模塊,在不受平臺(tái)限制的情況下快速采集數(shù)據(jù)并格式化存儲(chǔ)數(shù)據(jù)。

        (2)設(shè)計(jì)并實(shí)現(xiàn)熱度分析與分級(jí)模塊?;贓charts項(xiàng)目,設(shè)計(jì)歷史熱度顯示模塊和實(shí)時(shí)熱度顯示模塊,實(shí)現(xiàn)歷史熱度和趨勢(shì)熱度的實(shí)時(shí)顯示。

        (3)利用提出的數(shù)據(jù)爬行模塊和熱度分析顯示系統(tǒng),對(duì)31 520個(gè)規(guī)范化獨(dú)立主題的數(shù)據(jù)和979 815個(gè)問題的實(shí)時(shí)數(shù)據(jù)進(jìn)行爬行。在此基礎(chǔ)上,展示該平臺(tái)的歷史和實(shí)時(shí)熱度分析。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)完全達(dá)到了設(shè)計(jì)目標(biāo)。

        (4)對(duì)所提出的數(shù)據(jù)采集系統(tǒng)和熱度分析顯示系統(tǒng)進(jìn)行分析和總結(jié),為今后的研究提供了參考和方向。

        1 設(shè)計(jì)和部署

        1.1 系統(tǒng)架構(gòu)

        圖1顯示了系統(tǒng)的總體結(jié)構(gòu),包括代理采集模塊、數(shù)據(jù)爬蟲模塊(由節(jié)點(diǎn)采集子模塊、歷史最熱門問答采集子模塊和最新問答采集子模塊組成)、數(shù)據(jù)存儲(chǔ)模塊、熱度解析模塊和熱度顯示模塊。數(shù)據(jù)爬蟲模塊和熱度話題顯示模塊是系統(tǒng)的關(guān)鍵模塊,其他模塊的設(shè)計(jì)支持其運(yùn)行。

        圖1 系統(tǒng)架構(gòu)

        1.2 代理模塊

        一些設(shè)計(jì)糟糕的數(shù)據(jù)爬取程序只追求高效率,而不考慮錯(cuò)誤[13]。因此,它們可能會(huì)對(duì)目標(biāo)網(wǎng)站造成巨大的資源消耗,如消耗過多的帶寬、浪費(fèi)服務(wù)器資源、泄露自己的數(shù)據(jù)等。為了打擊數(shù)據(jù)采集程序的濫用,許多站點(diǎn)可能會(huì)限制每個(gè)IP的訪問速度或次數(shù)。在這種情況下,數(shù)據(jù)爬蟲程序?qū)和R恍《螘r(shí)間,然后繼續(xù)爬取數(shù)據(jù)。當(dāng)IP的次數(shù)或頻率受到限制時(shí),數(shù)據(jù)爬取程序需要確保每個(gè)IP的頁(yè)面瀏覽量或頻率低于網(wǎng)站允許的閾值。一個(gè)可行的解決方案是依次通過代理IP訪問目標(biāo)網(wǎng)站。因此,許多數(shù)據(jù)爬取程序需要建立和維護(hù)一個(gè)有效的代理IP池。

        圖2顯示了本文使用的代理模塊的結(jié)構(gòu),包括IP獲取模塊、IP驗(yàn)證模塊、IP持久化模塊和API模塊。

        圖2 代理模塊示意圖

        IP獲取模塊通過解析提供代理IP服務(wù)的目標(biāo)網(wǎng)站的不同代理IP格式和頁(yè)面格式,從5個(gè)代理源獲取IP信息。

        將在數(shù)據(jù)爬網(wǎng)兩步后驗(yàn)證代理IP。首先,在數(shù)據(jù)爬行過程中,測(cè)試IP是否可用,以及它們的訪問速度是否能滿足我們的要求。

        為了將它們與數(shù)據(jù)爬行模塊集成,使用這些良好的IP作為快速數(shù)據(jù)爬行的API。本文使用Flask框架來創(chuàng)建代理服務(wù)。

        1.3 Flask框架

        Flask是用Python語(yǔ)言基于Werkzeug工具箱編寫的一個(gè)輕量級(jí)Web開發(fā)的框架[14-15]。由于Flask本身就是相當(dāng)于一個(gè)內(nèi)核,其結(jié)構(gòu)并不含有數(shù)據(jù)庫(kù)抽象層以及表單特征,所以Flask體積很小。但是Flask具有非常強(qiáng)大的擴(kuò)展性,用戶可以自由選擇和組合需要的功能。這也使得Flask變得靈活多變。這些特性讓Flask框架一經(jīng)推出就受到廣大用戶的喜愛。

        Flask的工作流程如圖3所示,在Flask中每一個(gè)URL代表一個(gè)是視圖函數(shù)。當(dāng)用戶訪問這些URL時(shí),系統(tǒng)就會(huì)調(diào)用相對(duì)應(yīng)視圖函數(shù),并將函數(shù)結(jié)果返回給用戶。

        圖3 Flask的工作流程

        2 數(shù)據(jù)采集與分析

        2.1 數(shù)據(jù)集獲取

        數(shù)據(jù)爬行的總體效率往往會(huì)因過于耗時(shí)的數(shù)據(jù)采集(網(wǎng)絡(luò)延遲、服務(wù)器效率低下、服務(wù)器錯(cuò)誤、網(wǎng)絡(luò)中斷等)而降低。因此,需要同時(shí)打開多個(gè)線程進(jìn)行數(shù)據(jù)采集。在編程時(shí),設(shè)計(jì)了多線程異步從網(wǎng)站獲取信息的程序,大大提高了信息獲取的效率。

        網(wǎng)頁(yè)信息獲取后需要進(jìn)行解析。本文利用Beautiful Soup對(duì)采集到的信息進(jìn)行解析。編譯解析模塊時(shí),需要特別注意以下幾個(gè)方面。

        控制范圍:為了避免被蜜罐檢測(cè)到,只從指定的DOM獲取數(shù)據(jù)。

        一致性:考慮到解析到存儲(chǔ)過程中可能出現(xiàn)的錯(cuò)誤,每個(gè)解析的存儲(chǔ)過程都是原子性的,這樣,如果出現(xiàn)任何問題,就不會(huì)在數(shù)據(jù)庫(kù)中重復(fù)存儲(chǔ)數(shù)據(jù)。

        2.2 熱度分析

        在對(duì)所有數(shù)據(jù)進(jìn)行采集、解析和存儲(chǔ)后,本文實(shí)現(xiàn)了熱度分析模塊,對(duì)目標(biāo)網(wǎng)站的歷史熱度和趨勢(shì)熱度進(jìn)行分析。

        從訂閱人氣、訂閱活動(dòng)、訂閱差異等3個(gè)維度對(duì)歷史熱度進(jìn)行分析。

        三維算法用如下式:

        (1)

        式(1)表示訂閱普及度。它描述節(jié)點(diǎn)的普及程度,與訂閱數(shù)量正相關(guān)。訂閱受歡迎度最高的節(jié)點(diǎn)用作標(biāo)準(zhǔn)化所有其他節(jié)點(diǎn)的訂閱受歡迎度的比例。

        (2)

        式(2)表示訂閱活動(dòng)。它的意思是以訂閱數(shù)量為單位生成的節(jié)點(diǎn)的活動(dòng)程度,與最高的點(diǎn)贊平均數(shù)(即該節(jié)點(diǎn)下獲取的答案的點(diǎn)贊平均數(shù))正相關(guān)。訂閱活動(dòng)最高的節(jié)點(diǎn)用作標(biāo)準(zhǔn)化所有其他節(jié)點(diǎn)的訂閱活動(dòng)的比例。

        (3)

        式(3)是訂閱區(qū)分。它指節(jié)點(diǎn)關(guān)系中顯示的節(jié)點(diǎn)區(qū)分程度,與節(jié)點(diǎn)訂閱數(shù)正相關(guān),但與其父節(jié)點(diǎn)和子節(jié)點(diǎn)的平均節(jié)點(diǎn)訂閱數(shù)負(fù)相關(guān)。使用訂閱差異最大的節(jié)點(diǎn)作為標(biāo)準(zhǔn)化所有其他節(jié)點(diǎn)的訂閱差異的比例。

        hisheat(n)=Kspsubpopular(n)+

        Ksasubactive(n)+Ksdsubdist(n)

        (4)

        式(4)是歷史熱度算法,即訂閱人氣、訂閱活動(dòng)和訂閱差異的加權(quán)平均值。

        從趨勢(shì)活動(dòng)和趨勢(shì)區(qū)分2個(gè)維度對(duì)趨勢(shì)熱進(jìn)行分析。

        (5)

        式(5)表示趨勢(shì)活動(dòng)。它指節(jié)點(diǎn)此時(shí)的活動(dòng),與節(jié)點(diǎn)訂閱數(shù)和此時(shí)討論節(jié)點(diǎn)的平均間隔呈負(fù)相關(guān)。使用趨勢(shì)活動(dòng)最高的節(jié)點(diǎn)作為標(biāo)準(zhǔn)化所有其他節(jié)點(diǎn)的趨勢(shì)活動(dòng)的尺度。

        (6)

        式(6)表示趨勢(shì)差異。它指節(jié)點(diǎn)在這一時(shí)刻的差異,它與討論其父節(jié)點(diǎn)和子節(jié)點(diǎn)的平均間隔正相關(guān),但與討論節(jié)點(diǎn)的平均間隔負(fù)相關(guān)。使用趨勢(shì)差異最大的節(jié)點(diǎn)作為標(biāo)準(zhǔn)化所有其他節(jié)點(diǎn)趨勢(shì)差異的尺度。

        歷史熱度與節(jié)點(diǎn)的趨勢(shì)熱度呈負(fù)相關(guān),

        treheat(n)=Ktatreactive(n)+Ktdtredist(n)

        (7)

        式(7)給出趨勢(shì)熱度算法,即趨勢(shì)活動(dòng)和趨勢(shì)區(qū)分的加權(quán)平均值,去掉歷史熱。

        具體熱度分析算法如下。

        算法:熱度分析算法

        輸入:采集到的數(shù)據(jù)

        輸出:熱度

        1.利用式(1)計(jì)算訂閱數(shù)量,得到訂閱普及度

        2.利用式(2)通過點(diǎn)贊數(shù)計(jì)算訂閱活動(dòng)

        3.利用式(3)結(jié)合訂閱數(shù)計(jì)算訂閱區(qū)分

        4.通過式(4)計(jì)算訂閱普及,訂閱活動(dòng),訂閱區(qū)分三者的加權(quán)平均值的和,得到歷史熱度

        5.利用式(5)計(jì)算趨勢(shì)活動(dòng)

        6.利用式(6)計(jì)算趨勢(shì)差異

        7.通過歷史熱度與節(jié)點(diǎn)趨勢(shì)熱度利用式(7)計(jì)算得到趨勢(shì)熱度

        整個(gè)程序框圖如圖4所示。

        圖4 程序框圖

        3 實(shí)驗(yàn)與評(píng)估

        3.1 實(shí)驗(yàn)環(huán)境

        整個(gè)實(shí)驗(yàn)環(huán)境部署在一臺(tái)臺(tái)式電腦上,該電腦配置為Windows 10、64位操作系統(tǒng)、英特爾I7 2.7 GHz處理器,32 GB內(nèi)存。整個(gè)實(shí)驗(yàn)用Python 3.0語(yǔ)言實(shí)現(xiàn),實(shí)驗(yàn)設(shè)計(jì)過程中主要使用了百度開源純JavaScript的圖表庫(kù)項(xiàng)目Echarts。

        3.2 節(jié)點(diǎn)數(shù)據(jù)

        共對(duì)31 520個(gè)正則化節(jié)點(diǎn)信息進(jìn)行了數(shù)據(jù)爬取,共有613 332 546個(gè)訂閱,每個(gè)節(jié)點(diǎn)平均有19 458個(gè)訂閱。在這些節(jié)點(diǎn)中,排名前十的分別是“電影”“心理學(xué)”“美食”“設(shè)計(jì)”“自然科學(xué)”“商業(yè)”“健身”“經(jīng)濟(jì)”“旅游”“時(shí)尚”。前十大節(jié)點(diǎn)的總訂閱量超過500萬(wàn),訂閱量最大的節(jié)點(diǎn)關(guān)注度超過1 000萬(wàn),可見目的地網(wǎng)站用戶數(shù)量眾多,超過千萬(wàn)。

        3.3 熱度回答

        獲得了目的地網(wǎng)站的384 884條答案信息,共被青睞713 932 419次,每個(gè)答案的平均得寵次數(shù)為n,其中得寵次數(shù)最多的前十名分別分布在“美食”“文學(xué)藝術(shù)”“生活”“性健康”“組織”“制度”“文藝”“失蹤”“生命”“交流”(因?yàn)榇鸢缚赡馨鄠€(gè)節(jié)點(diǎn),所以這里只顯示其中一個(gè)節(jié)點(diǎn))。

        3.4 討論時(shí)間間隔信息

        以平均2 963 021 s的討論時(shí)間間隔獲得目的地站點(diǎn)上473 117個(gè)討論時(shí)間間隔信息(即節(jié)點(diǎn)最新消息發(fā)布時(shí)刻與數(shù)據(jù)獲取時(shí)間的間隔),其中討論最活躍的前十個(gè)節(jié)點(diǎn)分別為“生命”“文化”“實(shí)體”“社會(huì)”“東亞”“學(xué)科”“人”“中國(guó)”“亞洲”“大學(xué)”。

        3.5 歷史話題

        圖5顯示了歷史熱度話題的結(jié)果,其中有4條曲線,分別是訂閱熱門度曲線、訂閱活動(dòng)熱門度曲線、訂閱區(qū)分度曲線和最終歷史熱度話題熱門度曲線,以10個(gè)歷史熱度為橫軸(按歷史熱度的倒序排列),分?jǐn)?shù)為縱軸。從圖5可以看出:日常行為、生活以及求職類的4條曲線波動(dòng)范圍較大,其中最大的是日常行為類話題;心理學(xué)類話題的曲線波動(dòng)較?。黄渌麩岫仍掝}的曲線變化都較為相似。

        圖5 歷史熱度話題

        3.6 趨勢(shì)分析

        圖6顯示了即時(shí)熱門話題的結(jié)果,其中有3條曲線,分別是活動(dòng)趨勢(shì)曲線、區(qū)分趨勢(shì)曲線和最終趨勢(shì)熱門話題曲線。從圖中可以知道,年度庫(kù)存的將會(huì)成為人們最終關(guān)注的熱度。對(duì)于2019年的話題,由于是新增話題所以是沒有區(qū)分趨勢(shì)和活動(dòng)趨勢(shì)的。

        圖6 即時(shí)熱門話題

        4 總結(jié)

        隨著互聯(lián)網(wǎng)的不斷發(fā)展,社交問答平臺(tái)已經(jīng)成為一個(gè)新的具有吸引力的平臺(tái),用戶可以在這個(gè)平臺(tái)上討論各種主題,也可以相繼創(chuàng)造熱門話題甚至新聞,以熱度分析為維度,對(duì)目標(biāo)社交問答平臺(tái)進(jìn)行數(shù)據(jù)采集和熱度分析。采用多種設(shè)置和策略保證數(shù)據(jù)爬行的穩(wěn)定運(yùn)行,提出了用于社會(huì)問答平臺(tái)熱度分析的不同調(diào)查維度和多個(gè)調(diào)查指標(biāo)。本文共獲得目的地31 520個(gè)規(guī)范化節(jié)點(diǎn)信息和847 205個(gè)相關(guān)問題,并對(duì)其歷史熱度和趨勢(shì)熱度進(jìn)行了分析。分析結(jié)果表明,調(diào)查維度和指標(biāo)能夠較好地反映目的地的熱度狀態(tài)。

        在本文工作的基礎(chǔ)上,還值得開展以下工作。

        雖然經(jīng)過多次處理和改進(jìn),但本文的爬行率仍然達(dá)不到理想的效果,一次完成所有數(shù)據(jù)的爬行需要很長(zhǎng)的時(shí)間。由于數(shù)據(jù)爬行有時(shí)間跨度,記錄信息的時(shí)間不盡相同,與實(shí)時(shí)數(shù)據(jù)相比會(huì)產(chǎn)生一些錯(cuò)誤。最理想的目標(biāo)是進(jìn)行實(shí)時(shí)分析??尚械慕鉀Q方案包括:尋找新的數(shù)據(jù)接口,提高數(shù)據(jù)訪問速度;目的地開放的API,可以實(shí)時(shí)獲取一些開放數(shù)據(jù)的結(jié)果等。

        作為社交問答平臺(tái)的內(nèi)容創(chuàng)造者,用戶對(duì)熱度的產(chǎn)生和傳播有著巨大的影響。由于目的地站點(diǎn)策略不允許獲取此維度,因此本文不進(jìn)行相關(guān)用戶數(shù)據(jù)的爬行和分析,如果未來相關(guān)策略發(fā)生變化,則可以在此維度進(jìn)行探索。

        猜你喜歡
        趨勢(shì)曲線節(jié)點(diǎn)
        未來訪談:出版的第二增長(zhǎng)曲線在哪里?
        出版人(2022年8期)2022-08-23 03:36:50
        CM節(jié)點(diǎn)控制在船舶上的應(yīng)用
        Analysis of the characteristics of electronic equipment usage distance for common users
        趨勢(shì)
        基于AutoCAD的門窗節(jié)點(diǎn)圖快速構(gòu)建
        幸福曲線
        沿平坦凸曲線Hilbert變換的L2有界性
        初秋唇妝趨勢(shì)
        Coco薇(2017年9期)2017-09-07 21:23:49
        SPINEXPO?2017春夏流行趨勢(shì)
        抓住人才培養(yǎng)的關(guān)鍵節(jié)點(diǎn)
        激情综合五月天开心久久| 国产3p一区二区三区精品| 亚洲女同一区二区三区| 91精品久久久老熟女91精品 | 中文字幕精品久久久久人妻红杏ⅰ| av鲁丝一区鲁丝二区| 国产精品白浆无码流出| 亚洲av午夜福利一区二区国产| 永久中文字幕av在线免费| 永久天堂网av手机版| 精品久久久久久中文字幕| 综合网在线视频| 娇妻粗大高潮白浆| 国产一区三区二区视频在线观看| 精品国产偷窥一区二区| 在线播放亚洲第一字幕| 美女窝人体色www网站| 日本一区二区高清视频| 国产在线无码精品无码| 一区二区三区av波多野结衣| 国产精品jizz在线观看老狼| 美女高潮流白浆视频在线观看| 国产另类av一区二区三区| 99在线精品免费视频| 亚洲人成网7777777国产| 天堂av无码大芭蕉伊人av孕妇黑人| 亚洲熟女少妇一区二区三区青久久| 亚洲熟妇自偷自拍另欧美| 正在播放一区| 国产一区二区毛片视频| 亚洲中文字幕日产无码| 无码a∨高潮抽搐流白浆| 久久99精品波多结衣一区| 中文资源在线一区二区三区av| 国产精品无码一区二区三级| 97精品一区二区视频在线观看| 免费无码av片在线观看网址| 精品亚洲人伦一区二区三区| 九一免费一区二区三区偷拍视频| 国产精品久久久久久久久岛| 91久久福利国产成人精品|