鄧文萍



摘要:本文設(shè)計并實現(xiàn)了一個微博用戶信息爬取與分析系統(tǒng),利用Cookie實現(xiàn)了用戶的模擬登錄,使用Python語言的Rquests、lxml等函數(shù)庫,爬取、處理了該微博用戶數(shù)據(jù),并以“央視綜藝國家寶藏”為例,從微博發(fā)布動作偏好、微博信息特征、微博關(guān)鍵詞等方面展開了分析,獲取了一些有趣的發(fā)現(xiàn),為進一步用戶分析與畫像打下基礎(chǔ)。
關(guān)鍵詞:新浪微博;爬取分析;Python
中圖分類號:TP393 文獻標識碼:A 文章編號:1007-9416(2019)07-0096-03
0 引言
新浪微博是目前我國最大的短消息社交平臺,據(jù)新浪微博2017年全年財報稱,截至2017年12月,微博月活躍用戶增至3.92億。社交用戶的增多,意味著信息的極具爆炸,基于微博數(shù)據(jù)的社交用戶行為分析與畫像引起了人們的關(guān)注[1]。該技術(shù)能夠?qū)τ脩暨M行畫像,用于社交群體發(fā)現(xiàn)[2]、個性用戶發(fā)現(xiàn)[3]等。
本文使用Python語言,通過模擬用戶登錄,實現(xiàn)一種針對新浪微博的爬蟲,并對獲得的數(shù)據(jù)進行有效地分析。該文設(shè)計并實現(xiàn)了新浪微博爬蟲程序,以微博用戶“央視綜藝國家寶藏”為例,對他發(fā)布的微博內(nèi)容進行了全部抓取,并從微博發(fā)布行為、微博信息特征、微博關(guān)鍵詞等方面,進行了數(shù)據(jù)分析,為用戶分析與畫像打下基礎(chǔ)。
1 爬蟲系統(tǒng)設(shè)計
該爬蟲程序的工作流程如圖1所示,主要步驟為:
(1)登錄微博:新浪微博要求用戶訪問微博數(shù)據(jù)之前必須登錄,那么爬蟲程序面臨的首要任務(wù)是模擬登錄。本文利用Cookie的特性,事先通過瀏覽器的方式,登錄新浪微博,并正確輸入用戶名、口令,從而事先瀏覽器的登錄;當成功登陸后,新浪微博服務(wù)器會記錄登錄的狀態(tài),經(jīng)加密后,使用Response的方式,發(fā)送給客戶端,從而存儲于本地客戶端的Cookie中。當本文編寫的Python爬蟲,需要登錄新浪微博時,首先讀取已存儲于本地的Cookie,并發(fā)送給新浪微博服務(wù)器。而該服務(wù)器檢查這個Cookie,可以認定客戶端的合法身份,從而實現(xiàn)用戶對新浪微博的成功登錄。(2)訪問待抓取頁面:該模塊訪問被抓取微博用戶的各類信息界面,利用Requests庫下載待抓取頁面的html代碼。(3)下載、解析、抽取信息:使用lxml等python庫解析頁面,并根據(jù)預(yù)先定制的規(guī)則,抽取有關(guān)信息。(4)根據(jù)第(3)步驟的信息提取結(jié)果,如若信息內(nèi)具有下一次待抓取的頁面鏈接,則回至網(wǎng)頁下載模塊,重新進行下載、解析。(5)保存至數(shù)據(jù)庫:待抓取完畢后,將所有信息保存至數(shù)據(jù)庫。
2 微博用戶數(shù)據(jù)分析
本文針對新浪微博用戶“央視綜藝國家寶藏”進行研究分析,抓取了其全部微博內(nèi)容。該微博用戶ID號6339534350,2017年8月22日第一次發(fā)布微博消息;截至2019年7月29日,它已發(fā)布了1490條信息,轉(zhuǎn)發(fā)了339條消息,有粉絲2260078人,累計獲得1481948點贊數(shù)、2360089轉(zhuǎn)發(fā)量、462758評論數(shù)。
2.1 微博發(fā)布行為分析
該部分主要研究“央視綜藝國家寶藏”發(fā)布微博信息的次數(shù)和時間等因素,深入分析它的微博發(fā)布行為特征。如圖2中所示,該圖為隨時間變化的微博發(fā)布次數(shù),其橫坐標軸為日期,范圍為2017年8月22日至2019年7月29日;縱坐標軸則為微博消息的發(fā)布次數(shù)。
從圖中可以看出,該微博用戶發(fā)布微博消息有明顯的規(guī)律性,它幾乎每天都發(fā)送微博消息,但有兩個明顯的高峰期,分別為2017年12月至2018年2月期間和2018年12月至2019年2月。這兩個高峰期是與《國家寶藏·第一季》和《國家寶藏·第二季》的播出時間是重合的,其中《國家寶藏·第一季》自2017年12月3日起在中央電視臺播出,共有十期節(jié)目,每周日播出一期,于2018年2月11日結(jié)束;同樣地,《國家寶藏·第二季》自2018年12月9日起播出,共有十期節(jié)目,每周日播出一期,于2019年2月2日結(jié)束。在這兩個節(jié)目播出周期內(nèi),平均每日微博發(fā)送量分別為8.69、6.57,遠高于其他時期。
如圖3所示,橫坐標軸為發(fā)表時間,縱坐標軸為微博發(fā)布的次數(shù)。從圖中可以看出,該微博用戶發(fā)布微博信息的時間集中在每日的9時到22時,而在在23時至次日8時的時間段內(nèi)沒有發(fā)表任何內(nèi)容。同時,還可以看出整點是發(fā)布微博的高峰,12時、14時、16時、18時、20時、22時各發(fā)表了60次、69次、65次、73次、49次和46次。
2.2 微博信息分析
2.2.1 點贊數(shù)分析
通過按照微博發(fā)布的先后,給微博消息進行排序,列出每條微博的點贊數(shù),如圖4所示。微博消息的總點贊數(shù)均值為994.60,總體標準差為1868.26,顯示著各微博點贊數(shù)極不均衡。從圖4可以看出,個別微博的點贊數(shù)極高,高于2萬點贊數(shù)的微博數(shù)目為6個,高于1萬低于2萬點贊數(shù)的微博數(shù)目為3個,而點贊數(shù)低于1000的微博占總體的74.77。
為了直觀地觀察這一現(xiàn)象,本文將微博序號按照點贊數(shù)大小進行排序,如圖5所示。從圖可以看出,該圖形從橫坐標一開始時,占據(jù)較高縱坐標,接著極具下降,形成拖著長長尾巴的形狀。這說明微博點贊數(shù)服從冪律分布[4],即少數(shù)高贊微博受到人們的極大關(guān)注,而大部分微博受關(guān)注度一般。該分布的一個通俗解釋就是馬太效應(yīng),即窮者越窮富者越富。
2.2.2 評論數(shù)分析
圖6中,橫坐標為按時間排序的微博序號,縱坐標為該微博對應(yīng)的評論數(shù)。微博消息的總評論數(shù)均值為310.58,總體標準差為3091.64,顯示著各微博評論數(shù)極不均衡。從該圖可以看出,評論數(shù)高于1萬的微博數(shù)目為1個,高于5千低于1萬的微博數(shù)目為4個,而評論數(shù)低于300的微博占總體的84.56%。這說明微博評論數(shù)同樣服從冪律分布。
圖7中,橫坐標為按時間排序的微博序號,縱坐標為該微博對應(yīng)的轉(zhuǎn)發(fā)數(shù)。微博消息的總轉(zhuǎn)發(fā)數(shù)均值為1583.95,總體標準差為22209.09,顯示著各微博評論數(shù)比點贊數(shù)和評論數(shù)更不均衡。從該圖可以看出,轉(zhuǎn)發(fā)數(shù)高于10萬的微博數(shù)目為3個,高于1萬低于10萬的微博數(shù)目為30個,而轉(zhuǎn)發(fā)數(shù)低于1500的微博占總體的91.07%。
從微博的點贊數(shù)、評論數(shù)和轉(zhuǎn)發(fā)數(shù)分析,我們可以看出微博的平均值還是比較高的,說明”央視綜藝國家寶藏”用戶的影響力巨大,同時也能看到這三個值極不均衡,服從冪律分布。
2.3 微博關(guān)鍵詞分析
為了更好地分析微博內(nèi)容,本文對抓取到的微博內(nèi)容進行關(guān)鍵詞抽取與展示。本文使用了jieba分詞技術(shù)[5],處理得到微博內(nèi)容的所有詞組,并去除停用詞,接著使用wordcloud函數(shù)庫,制作了詞云。如圖8所示,主要的關(guān)鍵詞有“國家”、“寶藏”、“CCTV”、“國寶”、“博物館”、“頻道”、“中國”、“視頻”等詞。
3 結(jié)語
該文設(shè)計并實現(xiàn)了針對新浪微博用戶的爬蟲程序,并對抓取到的信息進行分析,以“用戶為例,從微博發(fā)布行為、微博信息特征、微博關(guān)鍵詞等四個方面,進行了數(shù)據(jù)研究與分析。經(jīng)過數(shù)據(jù)分析,本文得到如下信息:(1)微博用戶發(fā)布的有著較為明顯的整點發(fā)布偏好;(2)博主的微博的點贊數(shù)、評論數(shù)以及轉(zhuǎn)發(fā)數(shù)服從冪律分布;(3)博主發(fā)布的微博內(nèi)容的關(guān)鍵詞主要有“國家”、“寶藏”、“CCTV”、“國寶”、“博物館”、“頻道”、“中國”、“視頻”等。這些發(fā)現(xiàn)將為用戶畫像打下基礎(chǔ)。
參考文獻
[1] 曾鴻,吳蘇倪.基于微博的大數(shù)據(jù)用戶畫像與精準營銷[J].現(xiàn)代經(jīng)濟信息,2016(16):314-316.
[2] 解,汪小帆.復(fù)雜網(wǎng)絡(luò)中的社團結(jié)構(gòu)分析算法研究綜述[J].復(fù)雜系統(tǒng)與復(fù)雜性科學,2005,2(3):1-12.
[3] 鄧勝利,楊麗娜.用戶個性特征對信息行為影響的研究進展[J].情報理論與實踐,2014,37(5):119-123.
[4] 羅斌,陳翔.冪律特性在新浪微博個性化推薦中的應(yīng)用研究[J].計算機工程與科學,2018,40(04):165-173.
[5] 杜雷,垂直搜索引擎網(wǎng)絡(luò)爬蟲的研究與設(shè)計[D].北京郵電大學,2015.