亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

互聯(lián)網(wǎng)數(shù)據(jù)獲取方法及裝置制造方法

文檔序號:7801918閱讀:262來源:國知局
互聯(lián)網(wǎng)數(shù)據(jù)獲取方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種互聯(lián)網(wǎng)數(shù)據(jù)獲取方法及裝置。其中,該方法包括:確定獲取互聯(lián)網(wǎng)數(shù)據(jù)的訪問任務(wù),其中,訪問任務(wù)中攜帶有任務(wù)信息;根據(jù)任務(wù)信息調(diào)用對應(yīng)的應(yīng)用開發(fā)接口API單元;獲取API單元返回的第一數(shù)據(jù);計算下一次獲取互聯(lián)網(wǎng)數(shù)據(jù)的獲取時間;在獲取時間獲取API單元返回的第二數(shù)據(jù);返回執(zhí)行計算下一次獲取互聯(lián)網(wǎng)數(shù)據(jù)的獲取時間的步驟,直至完成訪問任務(wù),其中,互聯(lián)網(wǎng)數(shù)據(jù)包括第一數(shù)據(jù)和第二數(shù)據(jù)。采用本發(fā)明,解決了現(xiàn)有技術(shù)中獲取互聯(lián)網(wǎng)社交平臺數(shù)據(jù)不準(zhǔn)確、不完整的問題,實(shí)現(xiàn)了準(zhǔn)確完整的獲取互聯(lián)網(wǎng)社交平臺的數(shù)據(jù)的效果。
【專利說明】互聯(lián)網(wǎng)數(shù)據(jù)獲取方法及裝置【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體而言,涉及一種互聯(lián)網(wǎng)數(shù)據(jù)獲取方法及裝置。
【背景技術(shù)】
[0002]社交媒體相比傳統(tǒng)的媒體有一個非常大的區(qū)別,就是人與人之間的社會關(guān)系被映射到網(wǎng)絡(luò)上,并且可以通過社交平臺提供的各類應(yīng)用開發(fā)接口獲取到用戶的部分或全部數(shù)據(jù)?;趹?yīng)用開發(fā)接口(API, Application Programming Interface),第三方開發(fā)者們除了開發(fā)各種各樣豐富的社交功能的應(yīng)用程序之外,還可以方便地獲取社交平臺上的各種數(shù)據(jù),其中,包括社交平臺用戶的個人信息、微博內(nèi)容、用戶之間的關(guān)系信息等等,通過這些數(shù)據(jù)對社會學(xué)、市場營銷、網(wǎng)絡(luò)分析以及計算語言學(xué)等諸多領(lǐng)域有直接的幫助和影響。比如對社會學(xué)來說,傳統(tǒng)研究社交網(wǎng)絡(luò)的方法主要是由學(xué)者個人或團(tuán)隊(duì)來構(gòu)造,耗時耗力,成本高,通過社交平臺等社交網(wǎng)絡(luò)和開放接口,就可以很容易構(gòu)造幾百萬、幾千萬甚至上億用戶之間的關(guān)系網(wǎng)絡(luò),基于此網(wǎng)絡(luò)可進(jìn)行更加深入的社會學(xué)研究。
[0003]社交媒體雖然也可以看作是HTTP協(xié)議的網(wǎng)站、是傳統(tǒng)互聯(lián)網(wǎng)的一部分,但是與傳統(tǒng)網(wǎng)站相比又有所區(qū)別。一個顯著差異在于,社交媒體需要用戶登錄訪問才能看到詳細(xì)的內(nèi)容,特別是社交媒體的API是需要預(yù)先授權(quán)才可以使用的;而傳統(tǒng)網(wǎng)站如新聞、博客等,是不需要用戶預(yù)先登錄就可以訪問的。傳統(tǒng)的爬蟲直接下載頁面即可,若將傳統(tǒng)的網(wǎng)絡(luò)爬蟲的方法應(yīng)用于基于微博API的數(shù)據(jù)獲取上會出現(xiàn)獲取的數(shù)據(jù)不準(zhǔn)確等若干問題。
[0004]在傳統(tǒng)的互聯(lián)網(wǎng)應(yīng)用中,數(shù)據(jù)獲取技術(shù)主要是網(wǎng)絡(luò)爬蟲技術(shù)。網(wǎng)絡(luò)爬蟲是類似的數(shù)據(jù)獲取技術(shù),其基本原理是根據(jù)URL (即統(tǒng)一資源定位符)獲取頁面,訪問網(wǎng)站,下載頁面,從其中解析出新的 URL鏈接地址,然后下載新的頁面。參考Modern InformationRetrieval、《搜索引擎:信息檢索實(shí)踐》等。
[0005]現(xiàn)有的社交平臺(如新浪微博、騰訊微博)提供的開發(fā)API有如下特點(diǎn):
[0006](I) 一次API訪問就是一次HTTP請求。一次API調(diào)用返回頁面的信息最小單位是記錄;API調(diào)用返回的信息由若干條記錄組成,一條記錄可以表示一個用戶詳細(xì)信息、一條微博、一條評論等。
[0007](2) 一次API調(diào)用返回的記錄數(shù)有上限。比如新浪微博規(guī)定獲取微博列表API單次返回記錄不超過200條,也就是單次訪問最多返回200條。雖然有的API提供翻頁的功能,但總頁數(shù)也是有限制的,翻頁可以指定頁碼,最多可獲記錄數(shù)=200條/頁X最大頁碼。
[0008](3)API調(diào)用得到的記錄都是最新的記錄,并且記錄呈數(shù)據(jù)流形式,即一旦錯過了獲取的時機(jī),就很難再次獲取到了。比如獲取搜索關(guān)鍵詞的微博,每次API可獲得最多200條記錄,一共可以翻50頁,總計可獲取最新的20X50 = 1000條記錄(微博)。如果當(dāng)時含有此關(guān)鍵詞的微博超過1000條,則只能得到最新的1000條,余下的微博記錄就獲取不到了。
[0009](4)現(xiàn)有的API調(diào)用的記錄依賴token資源。訪問微博API需要通過“授權(quán)”獲得token (比如新浪微博、騰訊微博是以0Auth2.0方式授權(quán))。
[0010](5)微博API訪問時有限制條件。比如每小時所有接口訪問不能超過4萬次,每個IP每小時不能超過4萬次。
[0011](6)訪問API有成本。有的接口還有可能是付費(fèi)的接口,每次訪問都有費(fèi)用產(chǎn)生。
[0012]上述的微博API是通過HTTP協(xié)議傳輸數(shù)據(jù)。如果僅用Web爬蟲技術(shù),雖然理論上可行,但是會遇到若干問題:
[0013](I) URL不包含在Web頁面中,在獲取微博API數(shù)據(jù)的過程中,需要根據(jù)查詢、頁碼及其他信息構(gòu)造新URL ;
[0014]⑵API返回的是有結(jié)構(gòu)的數(shù)據(jù),通常用XML或JSON格式,如果忽略這些結(jié)構(gòu)信息會丟失一些有價值的線索;
[0015](3)如果API訪問時不加限制的訪問頁面,會被封禁IP、微博賬號甚至應(yīng)用賬號;
[0016](4)沒有充分獲取API結(jié)果中信息,以有效地訪問API獲取數(shù)據(jù);
[0017](5)需要token資源才能獲取API的結(jié)果,而token資源有有效期,需要合理管理(賬號授權(quán)、檢查token是否失效等)。
[0018]針對現(xiàn)有技術(shù)中獲取互聯(lián)網(wǎng)社交平臺數(shù)據(jù)不準(zhǔn)確、不完整的問題,目前尚未有公開的有效解決方案。

【發(fā)明內(nèi)容】

[0019]針對相關(guān)技術(shù)中獲取互聯(lián)網(wǎng)社交平臺數(shù)據(jù)不準(zhǔn)確、不完整的問題,目前尚未有提出的有效解決方案。為此,本發(fā)明的主要目的在于提供一種互聯(lián)網(wǎng)數(shù)據(jù)獲取方法及裝置,以解決上述問題。
[0020]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個方面,提供了一種互聯(lián)網(wǎng)數(shù)據(jù)獲取方法,該方法包括:確定獲取互聯(lián)網(wǎng)數(shù)據(jù)的訪問任務(wù),其中,訪問任務(wù)中攜帶有任務(wù)信息;根據(jù)任務(wù)信息調(diào)用對應(yīng)的應(yīng)用開發(fā)接口 API單元;獲取API單元返回的第一數(shù)據(jù);計算下一次獲取互聯(lián)網(wǎng)數(shù)據(jù)的獲取時間;在獲取時間獲取API單元返回的第二數(shù)據(jù);返回執(zhí)行計算下一次獲取互聯(lián)網(wǎng)數(shù)據(jù)的獲取時間的步驟,直至完成訪問任務(wù),其中,互聯(lián)網(wǎng)數(shù)據(jù)包括第一數(shù)據(jù)和第二數(shù)據(jù)。
[0021]進(jìn)一步地,確定獲取互聯(lián)網(wǎng)數(shù)據(jù)的訪問任務(wù)的步驟包括:獲取任務(wù)列表中的任務(wù)開始時間;在當(dāng)前時間超過或達(dá)到任務(wù)開始時間的情況下,確定任務(wù)開始時間對應(yīng)的任務(wù)為訪問任務(wù)。
[0022]進(jìn)一步地,根據(jù)任務(wù)信息調(diào)用對應(yīng)的API單元的步驟包括:獲取API單元對應(yīng)的令牌token和任務(wù)信息中的訪問參數(shù);創(chuàng)建訪問任務(wù)對應(yīng)的URL ;將token、URL以及訪問參數(shù)發(fā)送至API單元,以調(diào)用API單元。
[0023]進(jìn)一步地,在獲取API單元返回的第一數(shù)據(jù)之后,互聯(lián)網(wǎng)數(shù)據(jù)獲取方法還包括:解析第一數(shù)據(jù)得到數(shù)據(jù)列表;在獲取時間獲取API單元返回的第二數(shù)據(jù)之后,互聯(lián)網(wǎng)數(shù)據(jù)獲取方法還包括:解析第二數(shù)據(jù)得到第一解析結(jié)果,將第一解析結(jié)果補(bǔ)入數(shù)據(jù)列表中;在執(zhí)行返回執(zhí)行計算下一次獲取互聯(lián)網(wǎng)數(shù)據(jù)的獲取時間的步驟,直至完成訪問任務(wù)的過程中,解析獲取到的從API單元返回的數(shù)據(jù)得到第二解析結(jié)果,將第二解析結(jié)果補(bǔ)入數(shù)據(jù)列表中。[0024]進(jìn)一步地,將在當(dāng)前時間獲取互聯(lián)網(wǎng)數(shù)據(jù)的過程中得到的數(shù)據(jù)列表記作第一數(shù)據(jù)子列表,將在當(dāng)前時間之前獲取互聯(lián)網(wǎng)數(shù)據(jù)的過程中得到的數(shù)據(jù)列表記作第二數(shù)據(jù)子列表,其中,計算下一次獲取互聯(lián)網(wǎng)數(shù)據(jù)的獲取時間的步驟包括:計算第一數(shù)據(jù)子列表和第二數(shù)據(jù)子列表的覆蓋率;使用覆蓋率計算時間變化量;將時間變化量與當(dāng)前時間之和作為下一次的獲取時間。
[0025]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,提供了一種互聯(lián)網(wǎng)數(shù)據(jù)獲取裝置,該裝置包括:任務(wù)確定模塊,用于確定獲取互聯(lián)網(wǎng)數(shù)據(jù)的訪問任務(wù),其中,訪問任務(wù)中攜帶有任務(wù)信息;調(diào)用模塊,用于根據(jù)任務(wù)信息調(diào)用對應(yīng)的API單元;第一數(shù)據(jù)獲取模塊,用于獲取API單元返回的第一數(shù)據(jù);時間計算模塊,用于計算下一次獲取互聯(lián)網(wǎng)數(shù)據(jù)的獲取時間;第二數(shù)據(jù)獲取模塊,用于在獲取時間獲取API單元返回的第二數(shù)據(jù);循環(huán)模塊,用于返回執(zhí)行計算下一次獲取互聯(lián)網(wǎng)數(shù)據(jù)的獲取時間的步驟,直至完成訪問任務(wù),其中,互聯(lián)網(wǎng)數(shù)據(jù)包括第一數(shù)據(jù)和第二數(shù)據(jù)。
[0026]進(jìn)一步地,任務(wù)確定模塊包括:時間獲取子模塊,用于獲取任務(wù)列表中的任務(wù)開始時間;任務(wù)確定子模塊,用于在當(dāng)前時間超過或達(dá)到任務(wù)開始時間的情況下,確定任務(wù)開始時間對應(yīng)的任務(wù)為訪問任務(wù)。
[0027]進(jìn)一步地,調(diào)用模塊包括:參數(shù)獲取模塊,用于獲取API單元對應(yīng)的令牌token和任務(wù)信息中的訪問參數(shù);創(chuàng)建模塊,用于創(chuàng)建訪問任務(wù)對應(yīng)的URL;發(fā)送模塊,用于將token、URL以及訪問參數(shù)發(fā)送至API單元,以調(diào)用API單元。
[0028]進(jìn)一步地,互聯(lián)網(wǎng)數(shù)據(jù)獲取裝置還包括:第一解析模塊,用于解析第一數(shù)據(jù)得到數(shù)據(jù)列表;第二解析模塊,用于解析第二數(shù)據(jù)得到第一解析結(jié)果;第一保存模塊,用于將第一解析結(jié)果補(bǔ)入數(shù)據(jù)列表中;第三解析模塊,用于解析從API單元返回的數(shù)據(jù)得到第二解析結(jié)果;第二保存模塊,用于將第二解析結(jié)果補(bǔ)入數(shù)據(jù)列表中。
[0029]進(jìn)一步地,時間計算模塊包括:覆蓋率計算模塊,用于計算第一數(shù)據(jù)子列表和第二數(shù)據(jù)子列表的覆蓋率;時間變化量計算模塊,用于使用覆蓋率計算時間變化量;獲取時間計算模塊,用于將時間變化量與當(dāng)前時間之和作為獲取時間,其中,將在當(dāng)前時間獲取互聯(lián)網(wǎng)數(shù)據(jù)的過程中得到的數(shù)據(jù)列表記作第一數(shù)據(jù)子列表,將在當(dāng)前時間之前獲取互聯(lián)網(wǎng)數(shù)據(jù)的過程中得到的數(shù)據(jù)列表記作第二數(shù)據(jù)子列表。
[0030]采用本發(fā)明,通過任務(wù)確定模塊確定獲取互聯(lián)網(wǎng)數(shù)據(jù)的訪問任務(wù),在調(diào)用模塊根據(jù)訪問任務(wù)中攜帶的任務(wù)信息調(diào)用對應(yīng)的API單元之后,通過第一數(shù)據(jù)獲取模塊獲取API單元返回的第一數(shù)據(jù),然后時間計算模塊計算下一次獲取互聯(lián)網(wǎng)數(shù)據(jù)的獲取時間,并在獲取時間獲取API單元返回的第二數(shù)據(jù),然后返回執(zhí)行計算下一次獲取互聯(lián)網(wǎng)數(shù)據(jù)的獲取時間的步驟,直至完成訪問任務(wù),以獲取到與該訪問任務(wù)對應(yīng)的互聯(lián)網(wǎng)數(shù)據(jù)。采用本發(fā)明,返回的是API數(shù)據(jù),從而可以很好的保證返回數(shù)據(jù)的完整性和準(zhǔn)確性,并且通過API獲取返回的數(shù)據(jù),不受頁面訪問的限制,從而不會被封禁IP、微博賬號或應(yīng)用賬號,并且每隔一段時間獲取一次數(shù)據(jù),保證了獲取數(shù)據(jù)的準(zhǔn)確性,從而解決了現(xiàn)有技術(shù)中獲取互聯(lián)網(wǎng)社交平臺數(shù)據(jù)不準(zhǔn)確、不完整的問題,實(shí)現(xiàn)了準(zhǔn)確完整的獲取互聯(lián)網(wǎng)社交平臺的數(shù)據(jù)的效果。
【專利附圖】

【附圖說明】
[0031]此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
[0032]圖1是根據(jù)本發(fā)明實(shí)施例的互聯(lián)網(wǎng)數(shù)據(jù)獲取裝置的結(jié)構(gòu)示意圖;
[0033]圖2是根據(jù)本發(fā)明實(shí)施例的互聯(lián)網(wǎng)數(shù)據(jù)獲取方法的流程圖;
[0034]圖3是根據(jù)本發(fā)明實(shí)施例的一種可選的互聯(lián)網(wǎng)數(shù)據(jù)獲取方法的流程圖;
[0035]圖4是根據(jù)圖3所示實(shí)施例的互聯(lián)網(wǎng)數(shù)據(jù)獲取方法的示意圖。
【具體實(shí)施方式】
[0036]為了使本【技術(shù)領(lǐng)域】的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
[0037]需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤4送?,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
[0038]圖1是根據(jù)本發(fā)明實(shí)施例的互聯(lián)網(wǎng)數(shù)據(jù)獲取裝置的結(jié)構(gòu)示意圖。如圖1所示,該裝置可以包括:任務(wù)確定模塊10,用于確定獲取互聯(lián)網(wǎng)數(shù)據(jù)的訪問任務(wù),其中,訪問任務(wù)中攜帶有任務(wù)信息;調(diào)用模塊20,用于根據(jù)任務(wù)信息調(diào)用對應(yīng)的API單元;第一數(shù)據(jù)獲取模塊30,用于獲取API單元返回的第一數(shù)據(jù);時間計算模塊40,用于計算下一次獲取互聯(lián)網(wǎng)數(shù)據(jù)的獲取時間;第二數(shù)據(jù)獲取模塊50,用于在獲取時間獲取API單元返回的第二數(shù)據(jù);循環(huán)模塊60,用于返回執(zhí)行計算下一次獲取互聯(lián)網(wǎng)數(shù)據(jù)的獲取時間的步驟,直至完成訪問任務(wù),其中,互聯(lián)網(wǎng)數(shù)據(jù)包括第一數(shù)據(jù)和第二數(shù)據(jù)。
[0039]采用本發(fā)明,通過任務(wù)確定模塊確定獲取互聯(lián)網(wǎng)數(shù)據(jù)的訪問任務(wù),在調(diào)用模塊根據(jù)訪問任務(wù)中攜帶的任務(wù)信息調(diào)用對應(yīng)的API單元之后,通過第一數(shù)據(jù)獲取模塊獲取API單元返回的第一數(shù)據(jù),然后時間計算模塊計算下一次獲取互聯(lián)網(wǎng)數(shù)據(jù)的獲取時間,并在獲取時間獲取API單元返回的第二數(shù)據(jù),然后返回執(zhí)行計算下一次獲取互聯(lián)網(wǎng)數(shù)據(jù)的獲取時間的步驟,直至完成訪問任務(wù),以獲取到與該訪問任務(wù)對應(yīng)的互聯(lián)網(wǎng)數(shù)據(jù)。采用本發(fā)明,返回的是API數(shù)據(jù),通過API獲取返回的數(shù)據(jù),不受頁面訪問的限制,從而不會被封禁IP、微博賬號或應(yīng)用賬號,并且每隔一段時間獲取一次數(shù)據(jù),保證了獲取數(shù)據(jù)的準(zhǔn)確性,從而解決了現(xiàn)有技術(shù)中獲取互聯(lián)網(wǎng)社交平臺數(shù)據(jù)不準(zhǔn)確、不完整的問題,實(shí)現(xiàn)了準(zhǔn)確完整的獲取互聯(lián)網(wǎng)社交平臺的數(shù)據(jù)的效果。
[0040]在上述實(shí)施例中,可以隨時獲取社交平臺的網(wǎng)站信息;并且處理信息的單位是Web頁面,且不需要考慮IP限制問題。另外,獲取數(shù)據(jù)的代價很小,成本很低,可以有效利用資源的問題。
[0041]在本發(fā)明的上述實(shí)施例中,任務(wù)確定模塊可以包括:時間獲取子模塊,用于獲取任務(wù)列表中的任務(wù)開始時間;任務(wù)確定子模塊,用于在當(dāng)前時間超過或達(dá)到任務(wù)開始時間的情況下,確定任務(wù)開始時間對應(yīng)的任務(wù)為訪問任務(wù)。
[0042] 根據(jù)本發(fā)明的上述實(shí)施例,調(diào)用模塊可以包括:參數(shù)獲取模塊,用于獲取API單元對應(yīng)的令牌token和任務(wù)信息中的訪問參數(shù);創(chuàng)建模塊,用于創(chuàng)建訪問任務(wù)對應(yīng)的URL ;發(fā)送模塊,用于將token、URL以及訪問參數(shù)發(fā)送至API單元,以調(diào)用API單元。
[0043]具體地,執(zhí)行裝置負(fù)責(zé)調(diào)用根據(jù)接收的任務(wù)信息調(diào)用對應(yīng)的API單元,獲取API單元返回的互聯(lián)網(wǎng)數(shù)據(jù)。在上述步驟中,執(zhí)行裝置需要一些資源的支持,比如訪問API所需的token。具體地,將本發(fā)明上述實(shí)施例應(yīng)用于微博應(yīng)用中,現(xiàn)有的微博一般采用OAuth協(xié)議授權(quán)以取得token,通常token有一定有效時間,并且在授權(quán)之后就會拿到有效的token,然后將token保存在API訪問資源庫中;上述實(shí)施例中的執(zhí)行裝置構(gòu)造API訪問的URL,如圖4所示,將有效的API訪問資源(如token、URL和訪問參數(shù))發(fā)給API服務(wù)器,API服務(wù)器會返回互聯(lián)網(wǎng)數(shù)據(jù)或錯誤提示信息。
[0044]在本發(fā)明的上述實(shí)施例中,互聯(lián)網(wǎng)數(shù)據(jù)獲取裝置還包括:第一解析模塊,用于解析第一數(shù)據(jù)得到數(shù)據(jù)列表;第二解析模塊,用于解析第二數(shù)據(jù)得到第一解析結(jié)果;第一保存模塊,用于將第一解析結(jié)果補(bǔ)入數(shù)據(jù)列表中;第三解析模塊,用于解析從API單元返回的數(shù)據(jù)得到第二解析結(jié)果;第二保存模塊,用于將第二解析結(jié)果補(bǔ)入數(shù)據(jù)列表中。
[0045]根據(jù)本發(fā)明的上述實(shí)施例,時間計算模塊可以包括:覆蓋率計算模塊,用于計算第一數(shù)據(jù)子列表和第二數(shù)據(jù)子列表的覆蓋率;時間變化量計算模塊,用于使用覆蓋率計算時間變化量;獲取時間計算模塊,用于將時間變化量與當(dāng)前時間之和作為下一次的獲取時間,其中,將在當(dāng)前時間獲取互聯(lián)網(wǎng)數(shù)據(jù)的過程中得到的數(shù)據(jù)列表記作第一數(shù)據(jù)子列表,將在當(dāng)前時間之前獲取互聯(lián)網(wǎng)數(shù)據(jù)的過程中得到的數(shù)據(jù)列表記作第二數(shù)據(jù)子列表。
[0046]在本發(fā)明上述實(shí)施例中,執(zhí)行裝置調(diào)用API單元,獲取API單元返回的互聯(lián)網(wǎng)數(shù)據(jù)之后,將獲取到的數(shù)據(jù)解析成記錄列表。具體地,API單元返回的結(jié)果常用XML或JSON格式記錄。其中,將在當(dāng)前時間獲取互聯(lián)網(wǎng)數(shù)據(jù)的過程中得到的數(shù)據(jù)列表記作第一數(shù)據(jù)子列表L,將在當(dāng)前時間之前獲取互聯(lián)網(wǎng)數(shù)據(jù)的過程中得到的數(shù)據(jù)列表記作第二數(shù)據(jù)子列表U。
[0047]在獲取當(dāng)前時間的第一數(shù)據(jù)子列表L和第二數(shù)據(jù)子列表Ltl之后,對比Ltl和L,重新估算調(diào)整下一次獲取互聯(lián)網(wǎng)數(shù)據(jù)的獲取時間,并動態(tài)調(diào)整時間裝置。
[0048]具體地,計算第一數(shù)據(jù)子列表L和第二數(shù)據(jù)子列表Ltl兩個數(shù)據(jù)列表的覆蓋率P:
Iln nZl
[0049]P,其中,P是介于O~I之間的數(shù)。
[0050]在獲取覆蓋率P之后,計算第一數(shù)據(jù)子列表L和第二數(shù)據(jù)子列表Ltl的時間變化量:At = At' (αρ+β),其中At'表示上一次的時間變化量,初始值A(chǔ)t。= Atniin, α和β是常數(shù),一組經(jīng)驗(yàn)參數(shù)為α =0.5, β =0.8。在上述公式中,如果At小于最小時間Atmin,則取最小間隔時間At = Δ tmino如果At超過Atmax,則At = Atmax,其中,Atmin和Δ tmax是預(yù)設(shè)的時間值。
[0051]在上述實(shí)施例中,在獲取時間變化量之后,確定獲取時間,即下一次獲取數(shù)據(jù)的時亥Ij為T+At,其中T表示當(dāng)前時刻。
[0052]圖2是根據(jù)本發(fā)明實(shí)施例的互聯(lián)網(wǎng)數(shù)據(jù)獲取方法的流程圖,如圖2所示該方法包括如下步驟:[0053]步驟S202,確定獲取互聯(lián)網(wǎng)數(shù)據(jù)的訪問任務(wù),其中,訪問任務(wù)中攜帶有任務(wù)信息。
[0054]步驟S204,根據(jù)任務(wù)信息調(diào)用對應(yīng)的API單元。
[0055]步驟S206,獲取API單元返回的第一數(shù)據(jù)。
[0056]步驟S208,計算下一次獲取互聯(lián)網(wǎng)數(shù)據(jù)的獲取時間。
[0057]步驟S210,在獲取時間獲取API單元返回的第二數(shù)據(jù)。
[0058]步驟S212,返回執(zhí)行計算下一次獲取互聯(lián)網(wǎng)數(shù)據(jù)的獲取時間的步驟,直至完成訪問任務(wù),其中,互聯(lián)網(wǎng)數(shù)據(jù)包括第一數(shù)據(jù)和第二數(shù)據(jù)。
[0059]采用本發(fā)明,確定獲取互聯(lián)網(wǎng)數(shù)據(jù)的訪問任務(wù),根據(jù)訪問任務(wù)中攜帶的任務(wù)信息調(diào)用對應(yīng)的API單元,并獲取API單元返回的第一數(shù)據(jù),然后計算下一次獲取互聯(lián)網(wǎng)數(shù)據(jù)的獲取時間,并在獲取時間獲取API單元返回的第二數(shù)據(jù),然后返回執(zhí)行計算下一次獲取互聯(lián)網(wǎng)數(shù)據(jù)的獲取時間的步驟,直至完成訪問任務(wù),以獲取到與該訪問任務(wù)對應(yīng)的互聯(lián)網(wǎng)數(shù)據(jù)。采用本發(fā)明,返回的是API數(shù)據(jù),通過API獲取返回的數(shù)據(jù),不受頁面訪問的限制,從而不會被封禁IP、微博賬號或應(yīng)用賬號,并且每隔一段時間獲取一次數(shù)據(jù),保證了獲取數(shù)據(jù)的準(zhǔn)確性,從而解決了現(xiàn)有技術(shù)中獲取互聯(lián)網(wǎng)社交平臺數(shù)據(jù)不準(zhǔn)確、不完整的問題,實(shí)現(xiàn)了準(zhǔn)確完整的獲取互聯(lián)網(wǎng)社交平臺的數(shù)據(jù)的效果。
[0060]上述實(shí)施例中的API 為應(yīng)用開發(fā)接口(Application Programming Interface),API返回的數(shù)據(jù)通常為XML或JSON格式。
[0061]上述實(shí)施例中的API單元可以為API服務(wù)器。
[0062]如圖3所示,本發(fā)明的上述實(shí)施例中動態(tài)調(diào)整獲取數(shù)據(jù)的時間可以通過如下步驟實(shí)現(xiàn):
[0063]步驟S302:獲取有效的API訪問資源。
[0064]該步驟對應(yīng)圖2所示實(shí)施例的步驟S202。
[0065]步驟S304:調(diào)用API單元。
[0066]步驟S306:將API返回的數(shù)據(jù)進(jìn)行解析得到η條記錄。
[0067]步驟S308:計算下一次獲取數(shù)據(jù)的獲取時間。
[0068]步驟S310:在獲取時間從API單元獲取數(shù)據(jù)。
[0069]在本發(fā)明的上述實(shí)施例中,確定獲取互聯(lián)網(wǎng)數(shù)據(jù)的訪問任務(wù)的步驟可以包括:獲取任務(wù)列表中的任務(wù)開始時間;在當(dāng)前時間超過或達(dá)到任務(wù)開始時間的情況下,確定任務(wù)開始時間對應(yīng)的任務(wù)為訪問任務(wù)。
[0070]具體地,如圖4所示,可以使用定時驅(qū)動裝置檢查任務(wù)列表中是否有待訪問API的訪問任務(wù)。具體地,可以檢測任務(wù)列表中是否有到達(dá)或者超過“任務(wù)開始時間”的訪問任務(wù),如果有,則立即啟動該訪問任務(wù)。具體地,定時驅(qū)動裝置將任務(wù)信息(包括API名稱、訪問參數(shù)等)發(fā)送給數(shù)據(jù)獲取裝置的執(zhí)行裝置。
[0071]其中,上述實(shí)施例中的任務(wù)列表可以是保存于內(nèi)存中,也可以是保存于數(shù)據(jù)庫中。
[0072]表I示出了任務(wù)列表的格式。
[0073]表1:
[0074]
【權(quán)利要求】
1.一種互聯(lián)網(wǎng)數(shù)據(jù)獲取方法,其特征在于,包括: 確定獲取互聯(lián)網(wǎng)數(shù)據(jù)的訪問任務(wù),其中,所述訪問任務(wù)中攜帶有任務(wù)信息; 根據(jù)所述任務(wù)信息調(diào)用對應(yīng)的應(yīng)用開發(fā)接口 API單元; 獲取所述API單元返回的第一數(shù)據(jù); 計算下一次獲取所述互聯(lián)網(wǎng)數(shù)據(jù)的獲取時間; 在所述獲取時間獲取所述API單元返回的第二數(shù)據(jù); 返回執(zhí)行計算下一次獲取所述互聯(lián)網(wǎng)數(shù)據(jù)的獲取時間的步驟,直至完成所述訪問任務(wù),其中,所述互聯(lián)網(wǎng)數(shù)據(jù)包括所述第一數(shù)據(jù)和所述第二數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的互聯(lián)網(wǎng)數(shù)據(jù)獲取方法,其特征在于,確定獲取互聯(lián)網(wǎng)數(shù)據(jù)的訪問任務(wù)的步驟包括: 獲取任務(wù)列表中的任務(wù)開始時間; 在當(dāng)前時間超過或達(dá)到 所述任務(wù)開始時間的情況下,確定所述任務(wù)開始時間對應(yīng)的任務(wù)為所述訪問任務(wù)。
3.根據(jù)權(quán)利要求1所述的互聯(lián)網(wǎng)數(shù)據(jù)獲取方法,其特征在于,根據(jù)所述任務(wù)信息調(diào)用對應(yīng)的API單元的步驟包括: 獲取所述API單元對應(yīng)的令牌token和所述任務(wù)信息中的訪問參數(shù); 創(chuàng)建所述訪問任務(wù)對應(yīng)的URL ; 將所述token、所述URL以及所述訪問參數(shù)發(fā)送至所述API單元,以調(diào)用所述API單元。
4.根據(jù)權(quán)利要求1所述的互聯(lián)網(wǎng)數(shù)據(jù)獲取方法,其特征在于, 在獲取所述API單元返回的第一數(shù)據(jù)之后,所述互聯(lián)網(wǎng)數(shù)據(jù)獲取方法還包括:解析所述第一數(shù)據(jù)得到數(shù)據(jù)列表; 在所述獲取時間獲取所述API單元返回的第二數(shù)據(jù)之后,所述互聯(lián)網(wǎng)數(shù)據(jù)獲取方法還包括:解析所述第二數(shù)據(jù)得到第一解析結(jié)果,將所述第一解析結(jié)果補(bǔ)入所述數(shù)據(jù)列表中;在執(zhí)行返回執(zhí)行計算下一次獲取所述互聯(lián)網(wǎng)數(shù)據(jù)的獲取時間的步驟,直至完成所述訪問任務(wù)的過程中,解析獲取到的從所述API單元返回的數(shù)據(jù)得到第二解析結(jié)果,將所述第二解析結(jié)果補(bǔ)入所述數(shù)據(jù)列表中。
5.根據(jù)權(quán)利要求1所述的互聯(lián)網(wǎng)數(shù)據(jù)獲取方法,其特征在于,將在當(dāng)前時間獲取所述互聯(lián)網(wǎng)數(shù)據(jù)的過程中得到的數(shù)據(jù)列表記作第一數(shù)據(jù)子列表,將在所述當(dāng)前時間之前獲取所述互聯(lián)網(wǎng)數(shù)據(jù)的過程中得到的所述數(shù)據(jù)列表記作第二數(shù)據(jù)子列表,其中,計算下一次獲取所述互聯(lián)網(wǎng)數(shù)據(jù)的獲取時間的步驟包括: 計算所述第一數(shù)據(jù)子列表和所述第二數(shù)據(jù)子列表的覆蓋率; 使用所述覆蓋率計算時間變化量; 將所述時間變化量與所述當(dāng)前時間之和作為下一次的所述獲取時間。
6.一種互聯(lián)網(wǎng)數(shù)據(jù)獲取裝置,其特征在于,包括: 任務(wù)確定模塊,用于確定獲取互聯(lián)網(wǎng)數(shù)據(jù)的訪問任務(wù),其中,所述訪問任務(wù)中攜帶有任務(wù)信息; 調(diào)用模塊,用于根據(jù)所述任務(wù)信息調(diào)用對應(yīng)的API單元; 第一數(shù)據(jù)獲取模塊,用于獲取所述API單元返回的第一數(shù)據(jù); 時間計算模塊,用于計算下一次獲取所述互聯(lián)網(wǎng)數(shù)據(jù)的獲取時間;第二數(shù)據(jù)獲取模塊,用于在所述獲取時間獲取所述API單元返回的第二數(shù)據(jù); 循環(huán)模塊,用于返回執(zhí)行計算下一次獲取所述互聯(lián)網(wǎng)數(shù)據(jù)的獲取時間的步驟,直至完成所述訪問任務(wù),其中,所述互聯(lián)網(wǎng)數(shù)據(jù)包括所述第一數(shù)據(jù)和所述第二數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的互聯(lián)網(wǎng)數(shù)據(jù)獲取裝置,其特征在于,所述任務(wù)確定模塊包括: 時間獲取子模塊,用于獲取任務(wù)列表中的任務(wù)開始時間; 任務(wù)確定子模塊,用于在當(dāng)前時間超過或達(dá)到所述任務(wù)開始時間的情況下,確定所述任務(wù)開始時間對應(yīng)的任務(wù)為所述訪問任務(wù)。
8.根據(jù)權(quán)利要求6所述的互聯(lián)網(wǎng)數(shù)據(jù)獲取裝置,其特征在于,所述調(diào)用模塊包括: 參數(shù)獲取模塊,用于獲取所述API單元對應(yīng)的令牌token和所述任務(wù)信息中的訪問參數(shù); 創(chuàng)建模塊,用于創(chuàng)建所述訪問任務(wù)對應(yīng)的URL ; 發(fā)送模塊,用于將所述token 、所述URL以及所述訪問參數(shù)發(fā)送至所述API單元,以調(diào)用所述API單元。
9.根據(jù)權(quán)利要求6所述的互聯(lián)網(wǎng)數(shù)據(jù)獲取裝置,其特征在于,所述互聯(lián)網(wǎng)數(shù)據(jù)獲取裝置還包括: 第一解析模塊,用于解析所述第一數(shù)據(jù)得到數(shù)據(jù)列表; 第二解析模塊,用于解析所述第二數(shù)據(jù)得到第一解析結(jié)果; 第一保存模塊,用于將所述第一解析結(jié)果補(bǔ)入所述數(shù)據(jù)列表中; 第三解析模塊,用于解析從所述API單元返回的數(shù)據(jù)得到第二解析結(jié)果; 第二保存模塊,用于將所述第二解析結(jié)果補(bǔ)入所述數(shù)據(jù)列表中。
10.根據(jù)權(quán)利要求6所述的互聯(lián)網(wǎng)數(shù)據(jù)獲取裝置,其特征在于,所述時間計算模塊包括: 覆蓋率計算模塊,用于計算第一數(shù)據(jù)子列表和第二數(shù)據(jù)子列表的覆蓋率; 時間變化量計算模塊,用于使用所述覆蓋率計算時間變化量; 獲取時間計算模塊,用于將所述時間變化量與當(dāng)前時間之和作為所述獲取時間, 其中,將在所述當(dāng)前時間獲取所述互聯(lián)網(wǎng)數(shù)據(jù)的過程中得到的數(shù)據(jù)列表記作所述第一數(shù)據(jù)子列表,將在所述當(dāng)前時間之前獲取所述互聯(lián)網(wǎng)數(shù)據(jù)的過程中得到的所述數(shù)據(jù)列表記作所述第二數(shù)據(jù)子列表。
【文檔編號】H04L29/08GK103957245SQ201410163160
【公開日】2014年7月30日 申請日期:2014年4月22日 優(yōu)先權(quán)日:2014年4月22日
【發(fā)明者】高立琦, 焦揚(yáng) 申請人:北京微眾文化傳媒有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1