999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于在線社會(huì)網(wǎng)絡(luò)的網(wǎng)絡(luò)爬蟲的研究和設(shè)計(jì)

2014-01-16 05:57:16黃藍(lán)會(huì)
電子設(shè)計(jì)工程 2014年6期
關(guān)鍵詞:用戶信息

黃藍(lán)會(huì)

(寶雞文理學(xué)院 計(jì)算機(jī)系,陜西 寶雞 721013)

互聯(lián)網(wǎng)和移動(dòng)通信技術(shù)的飛速發(fā)展,使得在線社會(huì)網(wǎng)絡(luò)在全球的熱度持續(xù)升溫,大量用戶吸引其中。據(jù)2012年1月CNNIC第29次“中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告”指出[1],中國(guó)網(wǎng)民的互聯(lián)網(wǎng)溝通交流方式發(fā)生明顯變化,傳統(tǒng)交流溝通類應(yīng)用大幅下滑,而微博/社交網(wǎng)絡(luò)等則快速崛起。據(jù)統(tǒng)計(jì),全球2012年微博用戶比2011年底增長(zhǎng)了296%。2009年8月運(yùn)行的新浪微博為中國(guó)在線社會(huì)網(wǎng)絡(luò)的典型代表,到2012年注冊(cè)用戶已經(jīng)超過3億,峰值每秒發(fā)送32 312條消息,每天發(fā)布近8 000萬條消息[2]。利用新浪微博上的用戶和消息進(jìn)行輿情分析,是當(dāng)前分析微博的一個(gè)重要用途,企業(yè)可以從中發(fā)掘潛在客戶,推廣產(chǎn)品,政府可以了解民生動(dòng)態(tài),將謠言扼殺在萌芽狀態(tài),出臺(tái)政策解決社會(huì)問題,所以,對(duì)于在線社會(huì)網(wǎng)絡(luò)進(jìn)入深入挖掘與分析具有重要的現(xiàn)實(shí)意義[3-4]。新浪微博中用戶和消息眾多,如何將這些數(shù)據(jù)采集到一起,則是信息挖掘和輿情分析的前期工作,本文設(shè)計(jì)一個(gè)爬蟲系統(tǒng),通過新浪微博開放的API接口采集數(shù)據(jù)。

1 新浪微博的特征

新浪微博于2009年8月28日開始運(yùn)行,截至目前,新浪微博擁有3.5億用戶。新浪微博是一個(gè)類似于Twitter的微博系統(tǒng)。雖然其和Twitter在系統(tǒng)架構(gòu)上類似,但是新浪微博又有一些自己的特征:1)新浪微博內(nèi)容豐富,可以發(fā)送140以內(nèi)的漢字,同時(shí)也可以發(fā)送含有圖片、視頻、音樂,多媒體形式的存在,滿足了博友的表達(dá)需求,同時(shí)也有利于各種資源的傳播;2)發(fā)布渠道多樣,可以通過Web網(wǎng)頁,電子郵件插件,特別是可以用手機(jī)發(fā)微博,沒有發(fā)布工具的限制,微博用戶可以隨時(shí)隨地的發(fā)布信息;3)信息傳播零時(shí)差,多樣化的信息接收渠道可以讓用戶在第一時(shí)間接收到消息,而其一鍵轉(zhuǎn)發(fā)設(shè)置則讓轉(zhuǎn)發(fā)信息的過程實(shí)現(xiàn)零時(shí)差,同時(shí),微博采取的是單向跟隨的人際關(guān)系,用戶不需要是雙向的好友關(guān)系就可以任意的關(guān)注他人,這種模式可以使得信息以廣播式的方式急速擴(kuò)散[5]。

2 相關(guān)介紹

采集新浪微博的網(wǎng)絡(luò)數(shù)據(jù)是分析微博拓?fù)涮卣鞯那疤幔竟?jié)介紹新浪微博的數(shù)據(jù)屬性以及采集數(shù)據(jù)用到的API。

2.1 數(shù)據(jù)屬性

新浪微博中存在兩個(gè)網(wǎng)絡(luò):第一個(gè)網(wǎng)絡(luò)是關(guān)系網(wǎng)絡(luò),節(jié)點(diǎn)是用戶,邊是用戶之間的關(guān)注關(guān)系。第二個(gè)網(wǎng)絡(luò)是信息傳播網(wǎng)絡(luò),節(jié)點(diǎn)是用戶,邊是用戶之間微博的轉(zhuǎn)發(fā)和評(píng)論關(guān)系。數(shù)據(jù)可以分為兩大類[6]:用戶信息數(shù)據(jù)和微博信息數(shù)據(jù)。用戶信息數(shù)據(jù)中主要的字段包括:用戶UID、用戶昵稱、用戶所在城市、粉絲數(shù)、關(guān)注數(shù)、微博數(shù)、注冊(cè)時(shí)間、是否是微博認(rèn)證用戶、用戶的在線狀態(tài)、收藏?cái)?shù)等等。微博信息數(shù)據(jù)主要的字段包括:微博作者信息、發(fā)布時(shí)間、微博ID、微博內(nèi)容、評(píng)論數(shù)、轉(zhuǎn)發(fā)數(shù)等等。

2.2 API介紹

2010年7月新浪微博開放其API接口,通過新浪微博登錄后可以瀏覽資料,但由于服務(wù)器的性能和網(wǎng)絡(luò)帶寬的限制,新浪微博的API對(duì)請(qǐng)求次數(shù)設(shè)置了嚴(yán)格的限制,每個(gè)賬戶每小時(shí)可以訪問150次,IP在一個(gè)小時(shí)內(nèi)只能申請(qǐng)1000次,只要控制好調(diào)用API的頻率,這個(gè)方法是獲取新浪微博數(shù)據(jù)的比較簡(jiǎn)單的途徑之一。

新浪微博開放平臺(tái)的體系參考了Twitter,兩者非常類似,包括接口、參數(shù)的定義,請(qǐng)求方式等等。如果熟悉Twitter的API,基本可以同樣的適用到新浪微博開放平臺(tái)上,同時(shí)新浪微博開放平臺(tái)的文檔技術(shù)部分的信息也可以同樣適用于Twitter。到目前為止,新浪微博開放平臺(tái)提供的API有如下幾個(gè)接口:微博接口、評(píng)論接口、用戶接口、關(guān)系接口、賬號(hào)接口、收藏接口、話題接口、標(biāo)簽接口、注冊(cè)接口、搜索接口、推薦接口、提醒接口、短鏈接口、公共服務(wù)接口、地理信息接口[5]。具體每一個(gè)接口的功能以及該接口下的API可參看新浪微博開放平臺(tái)的API文檔。

3 網(wǎng)絡(luò)爬蟲系統(tǒng)

本文設(shè)計(jì)的網(wǎng)絡(luò)爬蟲系統(tǒng)由兩個(gè)模塊組成,分別是模擬登錄模塊和爬取模塊。圖1給出了該爬蟲模型。下面將具體介紹兩個(gè)模塊。

圖1 網(wǎng)絡(luò)爬蟲模型Fig.1 Model of crawler

3.1 模擬登錄模塊

由于一般的瀏覽器提供了自動(dòng)獲取并保持用戶訪問某網(wǎng)站時(shí)產(chǎn)生的cookie,創(chuàng)建相應(yīng)的session,所以用戶在第一次通過瀏覽器進(jìn)入新浪微博時(shí)需要登錄,但之后一段時(shí)間就可以不需要再登錄,直接進(jìn)入系統(tǒng)。目前新浪微博服務(wù)器無法對(duì)一段普通的計(jì)算機(jī)程序的訪問創(chuàng)建相應(yīng)的session,因此,為了方便網(wǎng)頁爬蟲模塊的實(shí)現(xiàn),我們采用新浪微博模擬登錄方法來解決。

為了實(shí)現(xiàn)對(duì)新浪微博的模擬登錄,首先要獲得一個(gè)可以使用的cookie,實(shí)驗(yàn)中利用chrome瀏覽器直接可以獲得用戶登錄某網(wǎng)站的cookie,之后就可以創(chuàng)建session,從而實(shí)現(xiàn)模擬登錄。數(shù)據(jù)采集人員在模擬登錄之后,就可以采用點(diǎn)擊微博頁面的方法去啟動(dòng)程序了。

3.2 爬取模塊

Web1.0網(wǎng)頁的獲取是通過網(wǎng)絡(luò)爬蟲實(shí)現(xiàn)的。網(wǎng)絡(luò)爬蟲的工作流程是通過設(shè)定種子URL作為入口地址,程序按照一定的爬行策略獲取每一個(gè)URL對(duì)應(yīng)的網(wǎng)頁內(nèi)容,然后解析網(wǎng)頁內(nèi)容,從中提取出鏈接的URL作為下一次爬行的種子,依次循環(huán),直到滿足爬行結(jié)束的條件。

在本系統(tǒng)中,首先選用合適的種子用戶開始爬取數(shù)據(jù),爬行策略基本上和Web1.0的爬行策略相同,不同的是新浪微博的網(wǎng)頁爬蟲是根據(jù)用戶之間的關(guān)系向外爬行的,不能像Web1.0根據(jù)鏈出網(wǎng)頁URL進(jìn)行爬行,在新浪微博中,我們采用從一個(gè)給定的種子用戶,通過關(guān)注改用戶的關(guān)注列表,依次獲得關(guān)注列表中的每一個(gè)人的關(guān)注列表,這樣一層一層的向外擴(kuò)展。

下載微博網(wǎng)頁可以和下載普通網(wǎng)頁一樣,通過網(wǎng)頁URL定位到該網(wǎng)頁后利用JAVA程序提供的下載網(wǎng)頁的函數(shù),該函數(shù)會(huì)打開一個(gè)數(shù)據(jù)流,執(zhí)行完后整個(gè)網(wǎng)頁內(nèi)容會(huì)以字符串的形式保存下來。

解析網(wǎng)頁通常是制定一個(gè)頁面解析規(guī)則,由于新浪微博相同種類的頁面的編碼規(guī)則一樣,所以采用將HTML網(wǎng)頁轉(zhuǎn)化為標(biāo)準(zhǔn)的DOM樹結(jié)構(gòu)的方法,可以將頁面解析出來供后續(xù)篩選用。采用這個(gè)方法的原來是程序員在編寫HTML網(wǎng)頁時(shí)很多標(biāo)簽不是成對(duì)出現(xiàn)的,所以直接利用HTML解析網(wǎng)頁信息比較困難,而標(biāo)準(zhǔn)的DOM樹結(jié)構(gòu)利用Xpath可以很方便的定位存放數(shù)據(jù)的DOM節(jié)點(diǎn)位置,抽取該節(jié)點(diǎn)的內(nèi)容。所以,采用標(biāo)準(zhǔn)的DOM樹結(jié)構(gòu)可以很方便的解析網(wǎng)頁。

篩選用戶信息實(shí)際上是一個(gè)數(shù)據(jù)去重操作,在Web1.0網(wǎng)頁爬蟲中去重的方法很多,可以用C++或者JAVA語音提供的現(xiàn)成的HashMap數(shù)據(jù)結(jié)構(gòu),但是這種去重策略不能滿足大規(guī)模的網(wǎng)頁爬行,如果網(wǎng)頁數(shù)量很大,HashMap<string,blooean>所占內(nèi)存會(huì)很大。本文設(shè)計(jì)一個(gè)針對(duì)新浪微博用戶信息數(shù)據(jù)獲取過程的過濾算法。根據(jù)新浪微博為每一個(gè)注冊(cè)用戶分配的64位整數(shù)隨機(jī)ID號(hào),以其作為二進(jìn)制向量的下標(biāo)查找,如果小標(biāo)的對(duì)應(yīng)值為1,證明已經(jīng)獲取過該ID的用戶信息,否則說明這個(gè)用戶信息還沒有被獲取過。當(dāng)需要開辟一個(gè)40億的二進(jìn)制數(shù)組的時(shí)候,所需內(nèi)存為470M,一般的PC機(jī)都能承受。JAVA提供的數(shù)據(jù)結(jié)構(gòu)bitmap,實(shí)際是一個(gè)bit數(shù)組,利用其可以代替二進(jìn)制向量,初始化時(shí)大小不能超過2147483648,以此將用戶ID號(hào)分為4個(gè)區(qū)間分別用一個(gè)過濾器處理。

具體的過濾算法如下:

Boolean WEIBO_ID_FILTER(ID)

if(ID> FOURTH_INTERVAL)Then

表1 新浪微博媒體用戶ID分段過濾Tab.1 Subsition filtration of user ID in Sina wicroblog

Long newID←ID-FOURTH_INTERVAL

if(FOURTH_FILTER[newID]為 0)

Then FOURTH_FILTER[newID]置1

return true

Else return false

EndIf

EndIf

if(ID> THIRD_INTERVAL)Then

Long newID←ID-THIRD_INTERVAL

if(THIRD_FILTER[newID]為 0)

Then THIRD_FILTER[newID]置1

return true

Else return false

EndIf

EndIf

if(ID> SECOND_INTERVAL) Then

Long newID←ID-SECOND_INTERVAL

If(SECOND_FILTER[newID]為 0)

Then SECOND_FILTER[newID]置1

return true

Else return false

EndIf

EndIf

if(ID> FIRST_INTERVAL) Then

Long newID←ID-FIRST_INTERVAL

If(FIRST_FILTER[newID]為 0)

Then FIRST_FILTER[newID]置1

return true

Else return false

EndIf

EndIf

4 實(shí)驗(yàn)結(jié)果與分析

服務(wù)器的軟件環(huán)境:

操作系統(tǒng):Windows Server 2003 R2;

數(shù)據(jù)庫:MySQL Server 5.0.1;

服務(wù)器的數(shù)據(jù)采集模塊;.NET 3.5;

數(shù)據(jù)分發(fā)服務(wù)器:JDK 1.6,Eclipse 3.5;

數(shù)據(jù)采集模塊:Visual Studio 2005;

開發(fā)語言:C#,Java

本實(shí)驗(yàn)主要是比較布隆過濾器和本文采用的過濾算法的效率。利用從1到100000000個(gè)不同的數(shù)字和10萬個(gè)重復(fù)數(shù)字作為實(shí)驗(yàn)數(shù)據(jù),用布隆過濾器和本文的過濾算法對(duì)1億個(gè)不同數(shù)字和10萬個(gè)重復(fù)數(shù)字分別進(jìn)行過濾去重。

表2 1億個(gè)不同數(shù)字的過濾效果Tab.2 Filtering result about one bilion different digital

從表2可以看出,本文采用的過濾算法明顯高于布隆過濾器。因?yàn)椴悸∵^濾器要將待過濾元素映射到8個(gè)值后再去查找二進(jìn)制向量。本文用的過濾算法不用映射直接去查找。

表3 10萬相同數(shù)字的過濾效果Tab.3 Filtering result about ten million same digital

從表3可以看出,兩種過濾算法對(duì)于重復(fù)數(shù)據(jù)都可以檢測(cè)到。

5 結(jié)束語

中國(guó)新浪微博的迅猛發(fā)展已經(jīng)影響到我們的方方面面,從中收集用戶資料進(jìn)行輿情分析是目前很多專家學(xué)者開始的一個(gè)新課題,其中收集用戶資料則是這項(xiàng)研究的基礎(chǔ),只有采集到足夠數(shù)量的數(shù)據(jù),分析才有意義。本文設(shè)計(jì)了一個(gè)網(wǎng)絡(luò)爬蟲系統(tǒng),利用新浪微博的API爬取用戶資料,實(shí)驗(yàn)證明,該方法在較短的時(shí)間內(nèi)能收集到較多用戶資料,達(dá)到較為滿意的效果。

[1]CNNIC.第29次中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r調(diào)查統(tǒng)計(jì)報(bào)告[R].北京:中國(guó)互聯(lián)網(wǎng)絡(luò)信息中心,2012.

[2]高戈坤.新浪微博用戶數(shù)再創(chuàng)新高[J].通信世界,2012(2):10-11.GAO Ge-kun.Sina micro-blog user number to a new high[J].Communication Word Weekly,2012(2):10-11.

[3]林旺群.基于帶權(quán)圖的層次化社區(qū)并行計(jì)算[J].方法.軟件學(xué)報(bào),2012,6(23):1517-1530.LIN Wang-qun.Paraller computing hierachical community approach based on weighted-graph[J].Journal of Software,2012,6(23):1517-1530.

[4]劉興亮.微博的傳播機(jī)制及未來發(fā)展思考 [J].新聞與寫作,2010(1):43-46.LIU Xing-liang.Thinking about communication mechanism micro-blog and future development[J].News and Writing,2010(1):43-46.

[5]王亮.微博媒體的信息傳播分析[D].哈爾濱:哈爾濱工業(yè)大學(xué),2012.

[6]郭正彪.大尺度在線社會(huì)網(wǎng)絡(luò)結(jié)構(gòu)嚴(yán)謹(jǐn)[D].武漢:華中科技大學(xué),2012.

猜你喜歡
用戶信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
Camera360:拍出5億用戶
100萬用戶
如何獲取一億海外用戶
展會(huì)信息
信息
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 国产精品30p| 亚洲精品无码抽插日韩| 欧美成人午夜影院| 亚洲精品国产首次亮相| 91久久偷偷做嫩草影院| 国产成人精品综合| 国产人人射| 自拍中文字幕| 国产一区二区在线视频观看| 毛片基地美国正在播放亚洲 | 天堂亚洲网| 国产精品色婷婷在线观看| 超清无码一区二区三区| 亚洲欧美成人影院| 免费全部高H视频无码无遮掩| 国产在线视频福利资源站| 免费在线观看av| 有专无码视频| 日韩欧美国产三级| 久久96热在精品国产高清| 亚洲国产成人综合精品2020 | 欧美激情视频二区| 青青国产视频| 成人午夜网址| www.精品视频| 亚洲国产天堂在线观看| 国产人人射| 国产精品亚洲一区二区三区z| 91探花在线观看国产最新| 国产精品视屏| 特级精品毛片免费观看| 在线中文字幕日韩| 77777亚洲午夜久久多人| 亚洲综合亚洲国产尤物| 国产精品尤物铁牛tv| 欧美在线伊人| 成人无码区免费视频网站蜜臀 | 国产一区二区三区在线无码| 试看120秒男女啪啪免费| 天天干天天色综合网| 亚洲欧美成人综合| 欧美激情成人网| 日本免费福利视频| 亚洲精品无码抽插日韩| 久久综合色88| 91成人在线观看| 国产免费精彩视频| 中文无码毛片又爽又刺激| 午夜a级毛片| 国产99视频免费精品是看6| 日本欧美视频在线观看| 国产91无毒不卡在线观看| 精品自窥自偷在线看| 国产精品视频白浆免费视频| 亚洲码一区二区三区| 国产成人精品综合| 97se亚洲综合不卡| 中文字幕1区2区| 真实国产乱子伦高清| 亚洲精品在线观看91| 91久久国产综合精品女同我| 成人在线不卡| 最新精品国偷自产在线| 中文字幕在线看视频一区二区三区| 日韩精品无码免费一区二区三区| 国产一级α片| 精品在线免费播放| 97视频在线精品国自产拍| 亚洲免费毛片| 91色在线视频| 亚洲爱婷婷色69堂| 亚洲综合网在线观看| 幺女国产一级毛片| 亚洲无码高清免费视频亚洲 | 国产黄在线观看| 天天爽免费视频| 国产精品漂亮美女在线观看| 国产精品视频白浆免费视频| 亚洲综合天堂网| 亚洲欧美另类中文字幕| 人人澡人人爽欧美一区| 欧美日韩国产成人高清视频|