用是用于 獲取最新公共微博,通過調(diào)用該接口可隨機返回最新的200條公共微博數(shù)據(jù),返回結(jié)果非 完全實時。送是爬取系統(tǒng)的主要入口之一,只有獲取到公共微博數(shù)據(jù)后,才能對之進行初步 的解析并進行后續(xù)微博維度的數(shù)據(jù)爬取。該爬取過程在建立連接后啟動,并會根據(jù)當前爬 取任務的不同,自適應地調(diào)整對API訪問頻次的占用,W達到相對較優(yōu)的爬取效果。本發(fā)明 通過重復控制調(diào)用數(shù)據(jù)接口、改變爬取策略W及采用多線程爬取的方式調(diào)整訪問頻次,例 如重復控制調(diào)用數(shù)據(jù)接口的過程中,采取了間隔爬取和重復性判斷的重復控制方法,W調(diào) 整API的訪問頻次,達到更好的訪問效果,同時,本發(fā)明采取回溯的爬取策略W及多線程的 使用,在爬取過程中根據(jù)實際情況調(diào)整各個API的占比,從而達到更優(yōu)的爬取效果。
[0041] 此外,本發(fā)明還可調(diào)用社交媒體的用戶微博讀取接口。W新浪微博為例,調(diào)用新浪 微博的用戶微博讀取接口 use;r_timeline也是爬取系統(tǒng)的主入口之一。Use;r_timeline接 口的作用是用于獲取用戶發(fā)布的微博數(shù)據(jù),從最新發(fā)布微博的開始,調(diào)用一次最多返回200 條完整的微博數(shù)據(jù)。針對一個用戶,最多只能獲取最新的2000條微博數(shù)據(jù)。由于高活躍度 用戶發(fā)布熱點微博數(shù)據(jù)的概率更高,因此獲取指定的高活躍度用戶(例如,各網(wǎng)絡大V認證 用戶)發(fā)布的微博數(shù)據(jù)信息,是為微博維度的爬取提供數(shù)據(jù)。本發(fā)明進一步建立用戶監(jiān)控 列表,更新并輪詢其中各高活躍度用戶發(fā)布的微博數(shù)據(jù),一旦檢測到送類用戶發(fā)布的最新 微博數(shù)據(jù),立刻調(diào)用用戶微博讀取接口進行獲取。采用送種方法,能在API訪問頻次的限制 內(nèi),盡可能全的獲取高活躍度用戶的微博數(shù)據(jù)。
[0042] 微博屬性(Sta化S)包含一條微博的基本信息。包括微博的創(chuàng)建時間、微博的ID、 微博信息內(nèi)容、微博作者的基本信息、被轉(zhuǎn)發(fā)的原微博信息、微博的轉(zhuǎn)發(fā)數(shù)、評論數(shù)等字段。 得到微博的創(chuàng)建時間可分析該微博的時效價值;得到微博ID可W對數(shù)據(jù)進行微博維度的 獲取和分析;得到被轉(zhuǎn)發(fā)的微博信息可W分析一個熱點微博的根源,并從根源獲取微博轉(zhuǎn) 發(fā)數(shù)據(jù);得到微博的轉(zhuǎn)發(fā)數(shù)可W分析該微博的熱點程度。實體詳細描述下:
[0043] 表1微博屬性中各基本信息的屬性表
[0044]
[0045] 參閱圖3,為了達到對微博數(shù)據(jù)進行實時爬取,本發(fā)明采用了多個任務并行爬取的 方法,本實施例中共使用了五個線程,利用送五個線程對熱點微博數(shù)據(jù)進行并行爬取介紹 如下:
[0046] 線程1 ;GetSta化sBWd,該線程在代碼開始運行時開啟,實時獲取3000個大V發(fā) 的最新微博。在當前微博為熱點微博時,開啟線程4,獲取當前熱點微博的轉(zhuǎn)發(fā)微博。在獲 取完轉(zhuǎn)發(fā)微博之后,將該熱點微博的Mid放在線程3中,實時獲取該熱點微博的轉(zhuǎn)發(fā)微博。
[0047] 線程2 ;Ge巧ublicSta化S,該線程在代碼開始運行時開啟,實時獲取最新的公共 微博。在當前微博為熱點微博時,開啟線程4,獲取當前熱點微博的轉(zhuǎn)發(fā)微博。在獲取完轉(zhuǎn) 發(fā)微博之后,將該熱點微博的Mid放在線程3中,實時獲取該熱點微博的轉(zhuǎn)發(fā)微博。
[0048] 線程3 ;RealGetR巧ost,該線程在代碼開始運行時開啟,用于實時獲取熱點微博 列表中熱點微博的轉(zhuǎn)發(fā)微博。該熱點微博列表可設置熱點微博的更新周期,例如本實施例 中,熱點微博列表中熱點微博的持續(xù)周期為30天。
[0049] 線程4;Ge地otRepost,該線程在發(fā)現(xiàn)一個微博熱點時開啟,獲取當前熱點微博的 轉(zhuǎn)發(fā)微博。
[0050] 線程5 ;RealDealMid,該線程在代碼開始運行時開啟,用于設定自動檢測時間區(qū) 間。例如本實施例中,在當前系統(tǒng)時間為凌晨00:00-01:00時,檢測已獲取微博是否已變?yōu)?熱點微博。若該微博已變成熱點微博則開啟線程4,用于獲取當前熱點的轉(zhuǎn)發(fā)微博。
[0051] (3)構(gòu)建熱點轉(zhuǎn)發(fā)鏈
[0052] 本發(fā)明調(diào)用微博轉(zhuǎn)發(fā)接口獲取熱點微博的轉(zhuǎn)發(fā)微博。W新浪微博為例,微博轉(zhuǎn)發(fā) 接口 repost_timeline用于獲取熱點微博的所有轉(zhuǎn)發(fā)微博,通過調(diào)用可返回一條原創(chuàng)微博 的最新轉(zhuǎn)發(fā)微博,從最新的轉(zhuǎn)發(fā)微博開始,調(diào)用一次最多只能獲取200條完整的微博數(shù)據(jù)。 針對于一條微博,最多能獲取該微博最新2000條轉(zhuǎn)發(fā)微博,為之后對熱點數(shù)據(jù)的分析提供 較全的數(shù)據(jù)。爬取熱點微博的轉(zhuǎn)發(fā)分為兩部分,分別是條件觸發(fā)微擅整發(fā)和實時監(jiān)測微博 轉(zhuǎn)發(fā)。一旦發(fā)現(xiàn)一條微博數(shù)據(jù)滿足了熱點的條件,就調(diào)用該接口獲取該熱點的所有轉(zhuǎn)發(fā)微 博,并將該微博放入熱點微博列表中監(jiān)測。如果熱點微博列表中出現(xiàn)新的熱點微博微 博ID的形式表示),該系統(tǒng)就對送些熱點進行實時監(jiān)測,一旦發(fā)現(xiàn)熱點有新的轉(zhuǎn)發(fā),就獲取 該轉(zhuǎn)發(fā)。采取送樣的框架,可W獲取熱點微博的所有轉(zhuǎn)發(fā)微博,得到完整的轉(zhuǎn)發(fā)鏈。
[0053] 如圖4所示,該曲線圖是2014年馬來西亞航空航班Μ冊70事件后在新浪微博上熱 點微博的取樣結(jié)果。從中可見,在馬航事件的取樣過程中,通過本發(fā)明中使用的回溯爬取的 方法,比現(xiàn)有隨機爬取的方法所得到的微博數(shù)據(jù)的數(shù)量高出一倍W上。詳見圖5,經(jīng)本發(fā)明 爬取后可知,該條熱口微博數(shù)據(jù)在原微博處發(fā)生第一次"爆炸",即在2014年3月11日至 17日之間發(fā)生高數(shù)量轉(zhuǎn)發(fā)并由此傳播散開,隨后在當年3月23日至3月27日之間又在發(fā) 生了二次"爆炸",說明該微博在經(jīng)過名人大V轉(zhuǎn)發(fā)之后,又被很多用戶所關(guān)注轉(zhuǎn)發(fā),結(jié)合圖 4和圖5可見本發(fā)明爬取后得到的轉(zhuǎn)發(fā)鏈數(shù)量與高活躍度用戶和熱口微博數(shù)據(jù)的相關(guān)程度 明顯高于現(xiàn)有技術(shù)。經(jīng)實踐發(fā)現(xiàn)經(jīng)本發(fā)明爬取所獲得的高質(zhì)量微博數(shù)據(jù)概率數(shù)量和比例都 高于現(xiàn)有方法。與現(xiàn)有技術(shù)相比,本發(fā)明能夠爬取事件熱點微博的完整轉(zhuǎn)發(fā)樹,可完善的分 析一條熱口微博的整個傳播過程。
[0054] 本發(fā)明的保護內(nèi)容不局限于W上實施例。在不背離發(fā)明構(gòu)思的精神和范圍下,本 領(lǐng)域技術(shù)人員能夠想到的變化和優(yōu)點都被包括在本發(fā)明中,并且W所附的權(quán)利要求書為保 護范圍。
【主權(quán)項】
1. 一種社交媒體中熱點微博數(shù)據(jù)的自適應取樣方法,其特征在于,包括如下步驟: 初步取樣步驟:自動與社交媒體的數(shù)據(jù)接口建立通信,從所述社交媒體中獲取一條以 上微博數(shù)據(jù); 熱點檢測步驟:檢測所述微博數(shù)據(jù)的屬性,若所述微博轉(zhuǎn)發(fā)量大于500次,則所述微博 數(shù)據(jù)判定為熱點微博數(shù)據(jù),同時建立熱點微博列表用于保存和監(jiān)測所述熱點微博數(shù)據(jù); 熱點獲取步驟:通過所述數(shù)據(jù)接口從所述社交媒體中獲取所述熱點微博列表中各熱點 微博數(shù)據(jù)的所有轉(zhuǎn)發(fā)微博,構(gòu)建所述熱點微博數(shù)據(jù)的完整轉(zhuǎn)發(fā)鏈。2. 如權(quán)利要求1所述的社交媒體中熱點微博數(shù)據(jù)的自適應取樣方法,其特征在于,所 述初步取樣步驟中,自動與社交媒體的公共微博讀取接口建立通信,實時獲取所述社交媒 體中的公共微博數(shù)據(jù)。3. 如權(quán)利要求2所述的社交媒體中熱點微博數(shù)據(jù)的自適應取樣方法,其特征在于,通 過重復控制調(diào)用數(shù)據(jù)接口、改變爬取策略以及采用多線程爬取的方式調(diào)整對所述公共微博 讀取接口的訪問頻次。4. 如權(quán)利要求1所述的社交媒體中熱點微博數(shù)據(jù)的自適應取樣方法,其特征在于,所 述初步取樣步驟中,自動與社交媒體的用戶微博讀取接口建立通信,實時獲取指定高活躍 度用戶發(fā)布的微博數(shù)據(jù)。5. 如權(quán)利要求4所述的社交媒體中熱點微博數(shù)據(jù)的自適應取樣方法,其特征在于,建 立用戶監(jiān)控列表,所述用戶監(jiān)控列表用于記錄并輪詢高活躍度用戶,當所述高活躍度用戶 發(fā)布微博數(shù)據(jù)時,通過所述用戶微博讀取接口實時獲取所述微博數(shù)據(jù)。6. 如權(quán)利要求1所述的社交媒體中熱點微博數(shù)據(jù)的自適應取樣方法,其特征在于,所 述熱點檢測步驟中,設定自動檢測時間區(qū)間,當處于所述自動檢測時間區(qū)間時,檢測先前已 獲取的微博數(shù)據(jù)的屬性。7. 如權(quán)利要求1或6所述的社交媒體中熱點微博數(shù)據(jù)的自適應取樣方法,其特征在于, 設定時間界限,在所述熱點微博列表中,若一條熱點微博數(shù)據(jù)在所述時間界限內(nèi)經(jīng)檢測未 成為熱點微博數(shù)據(jù)或者已獲取所有轉(zhuǎn)微博的,所述熱點微博數(shù)據(jù)從所述熱點微博列表中被 移出。8. 如權(quán)利要求7所述的社交媒體中熱點微博數(shù)據(jù)的自適應取樣方法,其特征在于,所 述時間上限為2天,即所述熱點微博列表中的一條熱點微博數(shù)據(jù)在2天內(nèi)經(jīng)檢測未成為熱 點微博數(shù)據(jù)或者已獲取所有轉(zhuǎn)微博的,該熱點微博數(shù)據(jù)從所述熱點微博列表中被移出。
【專利摘要】本發(fā)明公開了一種社交媒體中熱點微博數(shù)據(jù)的自適應取樣方法,包括如下步驟:初步取樣步驟:自動與社交媒體的數(shù)據(jù)接口建立通信,從社交媒體中獲取一條以上微博數(shù)據(jù);熱點檢測步驟:檢測微博數(shù)據(jù)的屬性,若微博轉(zhuǎn)發(fā)量大于500次,則微博數(shù)據(jù)判定為熱點微博數(shù)據(jù),同時建立熱點微博列表用于保存和監(jiān)測熱點微博數(shù)據(jù);熱點獲取步驟:通過數(shù)據(jù)接口從社交媒體中獲取熱點微博列表中各熱點微博數(shù)據(jù)的所有轉(zhuǎn)發(fā)微博,構(gòu)建熱點微博數(shù)據(jù)的完整轉(zhuǎn)發(fā)鏈。本發(fā)明可實時獲取熱點微博,能立即跟蹤熱點微博的轉(zhuǎn)發(fā),獲取完整的熱點微博轉(zhuǎn)發(fā)鏈。
【IPC分類】G06F17/30
【公開號】CN105447067
【申請?zhí)枴緾N201410522753
【發(fā)明人】李葉, 章群燕, 夏帆, 錢衛(wèi)寧, 周傲英
【申請人】華東師范大學
【公開日】2016年3月30日
【申請日】2014年9月30日