王坤 張益民
摘要:文章在使用爬蟲獲得不同種類的熱點數(shù)據(jù)后,提取了一些關(guān)于用戶和微博間的一些基本相關(guān)數(shù)據(jù),并用最新的spss分析軟件進行清洗數(shù)據(jù)和分析軟件中的數(shù)據(jù),運用單因素方差分析法,比較不同話題分類樣本和話題樣本對熱門微博下的粉絲數(shù)、關(guān)注數(shù)、轉(zhuǎn)發(fā)數(shù)、評論數(shù)、點贊數(shù)這些觀測值有沒有產(chǎn)生顯著性影響,從而研究分析出公眾對哪方面的熱門話題更感興趣。
關(guān)鍵詞:微博;爬蟲;方差分析;熱門話題
0引言
由于熱門話題內(nèi)容復雜,普通網(wǎng)民往往缺乏對專業(yè)性較高問題的判斷能力,需要在新浪微博上找到熱點話題,抓取熱點數(shù)據(jù),為人們從海量信息中提取有價值的信息節(jié)省時間,正確引導普通網(wǎng)民思考問題的角度和趨勢。對于熱點研究方面角度不同,方法多樣,運用于的領(lǐng)域也不同,本文著重關(guān)注某一方面熱點數(shù)據(jù),自建合理scrapy框架,運用于微博大量的數(shù)據(jù)爬取,實現(xiàn)數(shù)據(jù)的獲取、查找、整理與分析。[2]
1爬蟲系統(tǒng)設(shè)計
Scrapy框架用于對微博上的熱門數(shù)據(jù)抓取。當爬蟲程序成功登錄到微博并獲得微博頁面后,可以解析HTML腳本并將其提取到所需的數(shù)據(jù)中。一篇熱門微博文章的主要數(shù)據(jù)包括:用戶昵稱、用戶ID、關(guān)注數(shù)、粉絲數(shù)、微博內(nèi)容、轉(zhuǎn)發(fā)數(shù)等。[1]使用爬蟲爬取數(shù)據(jù)的主要流程有以下三步。
1.1微博內(nèi)容獲取
在微博登錄方面,我們使用一種簡單的方式:抓取微博登錄cookie[4],然后使用cookie登錄微博。這樣就可以瀏覽某個人的微博內(nèi)容了,爬取微博正文的代碼如下:
#-*-coding:utf-8-*-
fromscrapyimportItem,F(xiàn)ield
classTweetsItem(Item):
"""微博信息"""
_id=Field()#微博id
weibo_url=Field()#微博URL
created_at=Field()#微博發(fā)表時間
like_num=Field()#點贊數(shù)
comment_num=Field()#評論數(shù)
content=Field()#微博內(nèi)容
user_id=Field()#發(fā)表該微博用戶的id
crawl_time=Field()#抓取時間戳
1.2用戶信息獲取
抓取登錄微博的cookie,使用cookie登錄微博后我們可以看到登錄用戶的個人信息。為了研究熱門話題對公眾的影響,我們需要確定一個微博用戶作為抓取數(shù)據(jù)的起點,部分代碼如下:
classInformationItem(Item):
"""個人信息"""
_id=Field()#用戶ID
nick_name=Field()#昵稱
gender=Field()#性別
province=Field()#所在省
city=Field()#所在城市
brief_introduction=Field()#簡介
birthday=Field()#生日
tweets_num=Field()#微博數(shù)
1.3用戶關(guān)系獲取
新浪微博用戶之間存在互相關(guān)注的情況,為了方便起見,本文只對用戶的粉絲進行了爬行,以了解兩個用戶之間是否存在關(guān)注關(guān)系。代碼如下:
classRelationshipsItem(Item):
"""用戶關(guān)系,只保留與關(guān)注的關(guān)系"""
_id=Field()
fan_id=Field()#關(guān)注者,即粉絲的id
followed_id=Field()#被關(guān)注者的id
crawl_time=Field()#抓取時間戳
微博用戶關(guān)系數(shù)據(jù)表共有5列屬性,采集到的用戶關(guān)系信息包括:信息爬取的爬行時間、用戶關(guān)注對象ID列表、用戶粉絲ID列表等。
2數(shù)據(jù)分析結(jié)果與解釋
本文把話題分類作為定類數(shù)據(jù),關(guān)注數(shù)、粉絲數(shù)、轉(zhuǎn)發(fā)數(shù)、評論數(shù)、點贊數(shù)作為定量數(shù)據(jù)進行方差分析,結(jié)果如下[3]:
(1)分類相比較于關(guān)注數(shù)呈現(xiàn)出0.01水平顯著性(F=40.25,P=0.00),以及具體對比差異可知,有著較為明顯差異的組別平均值得分對比結(jié)果。
(2)分類相比較粉絲數(shù)表現(xiàn)出0.01水平顯著性(F=26.31,P=0.00),由具體對比差異可以知到,有著比較明顯差異的分組平均值得分比較結(jié)果。
(3)分類相比較轉(zhuǎn)發(fā)數(shù)表現(xiàn)出0.01水平顯著性(F=8.18,P=0.00),由具體對比差異可以知到,有著較為明顯差異的分組平均值得分比較結(jié)果。
(4)分類相比較評論數(shù)表現(xiàn)出0.01水平顯著性(F=6.36,P=0.00),由具體對比差異可以知到,有著較為明顯差異的分組平均值得分比較結(jié)果。
(5)分類相比較點贊數(shù)表現(xiàn)出0.01水平顯著性(F=17.91,P=0.00),由具體對比差異可以知到,有著較為明顯差異的分組平均值得分比較結(jié)果。
總結(jié)可知:各種話題樣本對于關(guān)注數(shù),粉絲數(shù),轉(zhuǎn)發(fā)數(shù),評論數(shù),點贊數(shù)全部均呈現(xiàn)出顯著性差異。為了檢驗以上分析結(jié)果是否準確,本文把話題和話題分類這兩個數(shù)據(jù)指標做成了詞云圖,通過詞云圖顯示具體哪個話題或者話題分類出現(xiàn)的頻率最高[2,5]。通過對微博熱門話題關(guān)注程度的分析,發(fā)現(xiàn)用戶在娛樂的同時也應(yīng)該多去了解下國家正在發(fā)生的社會事件。
參考文獻
[1]王海玲,周志彬.基于Scrapy框架的爬蟲設(shè)計[J].軟件導刊,2020,19(04):224-228.
[2]方潔,龔立群,魏疆.基于利益相關(guān)者理論的微博輿情中的用戶分類研究[J].情報科學,2014,32(01):18-22.
[3]戴金輝.單因素方差分析中異方差的檢驗與修正[J].統(tǒng)計與決策,2017(08):23-26.
[4]安子建.基于Scrapy框架的網(wǎng)絡(luò)爬蟲實現(xiàn)與數(shù)據(jù)抓取分析[D].吉林大學,2017.
[5]劉志明,劉魯.微博網(wǎng)絡(luò)輿情中的意見領(lǐng)袖識別及分析[J].系統(tǒng)工程,2011,29(06):8-16.
(遼寧大連東軟信息學院?遼寧?大連?116000)