信息抓取裝置和方法
【專利摘要】本發(fā)明提供一種信息抓取裝置和方法,涉及互聯(lián)網(wǎng)領(lǐng)域。信息抓取裝置包括:抓取模塊和執(zhí)行模塊,其中,抓取模塊包括:識別單元,用于識別執(zhí)行模塊的類型;抓取單元,用于根據(jù)執(zhí)行模塊的類型抓取對應(yīng)的信息,其中,抓取單元中預(yù)存了執(zhí)行模塊和所需抓取的信息之間的對應(yīng)關(guān)系;執(zhí)行模塊分別與識別單元和抓取單元連接,用于獲取抓取單元抓取的信息,并通過信息執(zhí)行預(yù)設(shè)的任務(wù)。通過本發(fā)明的實施方式,能夠減少信息抓取時所需的系統(tǒng)資源。
【專利說明】信息抓取裝置和方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)領(lǐng)域,特別涉及一種信息抓取裝置和方法。
【背景技術(shù)】
[0002]當(dāng)前的一些計算機/手機應(yīng)用需要從互聯(lián)網(wǎng)的海量信息中針對性地抓取和展示特定信息,抓取信息一般通過網(wǎng)絡(luò)爬蟲(簡稱爬蟲)實現(xiàn)?,F(xiàn)有技術(shù)中,一個爬蟲只能服務(wù)于一個應(yīng)用,例如A應(yīng)用需抓取視頻信息,B應(yīng)用需抓取音頻信息,C應(yīng)用需抓取文本信息,那么A應(yīng)用、B應(yīng)用和C應(yīng)用需要調(diào)用不同的爬蟲進行信息的抓取,從而導(dǎo)致了一定的應(yīng)用冗余和資源浪費。
【發(fā)明內(nèi)容】
[0003]本發(fā)明實施例提供一種信息抓取裝置和方法,以減少信息抓取時所需的系統(tǒng)資源。
[0004]本發(fā)明為了實現(xiàn)上述目的,提供一種信息抓取裝置,該裝置包括抓取模塊和執(zhí)行模塊,其中,抓取模塊包括:識別單元,用于識別執(zhí)行模塊的類型;抓取單元,用于根據(jù)執(zhí)行模塊的類型抓取對應(yīng)的信息,其中,抓取單元中預(yù)存了執(zhí)行模塊和所需抓取的信息之間的對應(yīng)關(guān)系;執(zhí)行模塊分別與識別單元和抓取單元連接,用于獲取抓取單元抓取的信息,并通過信息執(zhí)行預(yù)設(shè)的任務(wù)。
[0005]在一個實施例中,抓取單元包括:多個抓取模板,用于提供抓取策略,通過不同的抓取策略能夠抓取不同的信息。
[0006]在一個實施例中,抓取模塊還包括:控制單元,用于觸發(fā)抓取單元,使抓取單元抓取執(zhí)行模塊所需的信息。
[0007]在一個實施例中,控制單元用于按先后順序觸發(fā)抓取單元。
[0008]在一個實施例中,控制單元還用于調(diào)用處于空閑狀態(tài)的抓取單元。
[0009]本發(fā)明為了實現(xiàn)上述目的,還提供一種信息抓取方法,該方法包括:識別單元識別執(zhí)行模塊的類型;抓取單元根據(jù)執(zhí)行模塊的類型抓取對應(yīng)的信息,其中,抓取單元中預(yù)存了執(zhí)行模塊和所需抓取的信息之間的對應(yīng)關(guān)系;執(zhí)行模塊獲取抓取單元抓取的信息,并通過信息執(zhí)行預(yù)設(shè)的任務(wù)。
[0010]在一個實施例中,通過抓取模板抓取信息,其中,抓取模板用于提供抓取策略,通過不同的抓取策略能夠抓取不同的信息。
[0011]在一個實施例中,在根據(jù)信息調(diào)用者的類型抓取對應(yīng)的信息之前,上述方法包括:觸發(fā)抓取單元,使抓取單元抓取執(zhí)行模塊所需的信息。
[0012]在一個實施例中,按先后順序觸發(fā)抓取單元。
[0013]在一個實施例中,調(diào)用處于空閑狀態(tài)的抓取單元。
[0014]通過本發(fā)明,在識別執(zhí)行模塊后,對不同的執(zhí)行模塊抓取不同的信息,避免了一種抓取模塊對應(yīng)一種執(zhí)行模塊所造成的浪費,節(jié)省了系統(tǒng)的資源。【專利附圖】
【附圖說明】
[0015]此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,并不構(gòu)成對本發(fā)明的限定。在附圖中:
[0016]圖1A示出了本發(fā)明實施例中的一種信息抓取裝置100的結(jié)構(gòu)框圖;
[0017]圖1B示出了本發(fā)明實施例中的另一種信息抓取裝置100’的結(jié)構(gòu)框圖;
[0018]圖2示出了本發(fā)明優(yōu)選實施例中的信息抓取裝置的結(jié)構(gòu)框圖;
[0019]圖3示出了本發(fā)明實施例中的信息抓取方法300的流程圖。
【具體實施方式】
[0020]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,下面結(jié)合附圖對本發(fā)明實施例作進一步詳細說明。在此,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,但并不作為對本發(fā)明的限定。
[0021 ] 現(xiàn)在將參考附圖進一步詳細描述本發(fā)明。
[0022]本發(fā)明可以許多不同的形式來實現(xiàn),不應(yīng)該被理解為僅限于此處所闡述的實施例。這些實施例只作為示例提供,以便為本領(lǐng)域技術(shù)人員提供對本發(fā)明的完全理解。
[0023]本發(fā)明實施例提供了一種信息抓取裝置,圖1A示出了本發(fā)明實施例中的一種信息抓取裝置100的結(jié)構(gòu)框圖。
[0024]如圖1所示,該信息抓取裝置包括抓取模塊110和執(zhí)行模塊120。
[0025]抓取模塊110可以從互聯(lián)網(wǎng)或數(shù)據(jù)庫抓取所需的信息,執(zhí)行模塊120可以根據(jù)抓取的信息執(zhí)行相應(yīng)的任務(wù),不同的執(zhí)行模塊120所需不同的信息,執(zhí)行不同的任務(wù)。
[0026]具體的,抓取模塊110包括:
[0027]識別單元111用于識別執(zhí)行模塊120的類型。
[0028]執(zhí)行模塊120的類型可以通過所需信息的來源以及所需信息的數(shù)據(jù)類型來確定,例如通過執(zhí)行模塊120的projectname屬性確定信息的來源,通過執(zhí)行模塊120的datatype屬性來確定信息的數(shù)據(jù)類型。projectname是執(zhí)行模塊120要處理的信息的來源名稱,datatype要處理的信息的數(shù)據(jù)類型,每個“pro jectname+datatype”對應(yīng)唯一的執(zhí)行模塊120的類型。
[0029]抓取單元112用于根據(jù)執(zhí)行模塊120的類型抓取對應(yīng)的信息。抓取單元112中預(yù)存了執(zhí)行模塊120和所需抓取的信息之間的對應(yīng)關(guān)系。
[0030]執(zhí)行模塊120分別與識別單元111和抓取單元112連接,用于獲取抓取單元112抓取的信息,并通過該信息執(zhí)行預(yù)設(shè)的任務(wù)。
[0031]例如抓取模塊110可以從互聯(lián)網(wǎng)抓取視頻、音頻、文本或游戲等信息,執(zhí)行模塊120可以將抓取到的信息按點擊量或發(fā)布時間等條件進行排序,然后推送給互聯(lián)網(wǎng)用戶。
[0032]圖1B示出了本發(fā)明實施例中的另一種信息抓取裝置100’的結(jié)構(gòu)框圖,在信息抓取裝置100’中,與信息抓取裝置100中附圖標(biāo)記相同的模塊,有相同或相似的功能。具體地,為了使信息抓取裝置100’能夠有序地進行大量抓取,抓取模塊110中還包括控制單元113,該控制單元113用于觸發(fā)抓取單元112’,使抓取單元112’抓取執(zhí)行模塊120所需的信肩、O[0033]抓取單元112’是抓取單元112的一種優(yōu)選形式,具體地,抓取單元112’中可以包括多種抓取模板112-1,112-2,…,112-K (K為自然數(shù),且K大于等于I)。實踐中,K的數(shù)量根據(jù)實際需求設(shè)定,各抓取單元均能按照不同的抓取模板的格式抓取對應(yīng)的信息,例如通過抓取模塊112-1可以抓取視頻,通過抓取模塊112-2可以抓取游戲等。
[0034]抓取單元112’中預(yù)存了執(zhí)行模塊120和所需抓取的信息之間的對應(yīng)關(guān)系例如,^projectname=Xl, datatype=yl” 的執(zhí)行模塊 120 對應(yīng)模板 112-1 ;“pro jectname=x2,datatype=y2”的執(zhí)行模塊120對應(yīng)模板112-2。
[0035]由于抓取單元112’和執(zhí)行模塊120均有可能為多個,因此可以通過控制單元113來管理各個抓取單元112’的秩序。例如,該控制單元113可以按先后順序觸發(fā)各抓取單元112’,具體地,控制單元113可以通過隊列的方式觸發(fā)抓取單元112’。
[0036]為了合理高效地利用各抓取單元112’,優(yōu)選地,控制單元113可以用于確定抓取單元112’是否處于空閑狀態(tài),進一步地,控制單元113還用于選擇處于空閑狀態(tài)的抓取單兀112’抓取執(zhí)行模塊120所需的彳目息。 [0037]圖2示出了本發(fā)明優(yōu)選實施例中的信息抓取裝置的結(jié)構(gòu)框圖,如圖2所示,該裝置包括爬蟲服務(wù)器210、控制中心220和應(yīng)用平臺230。
[0038]本實施例中的爬蟲服務(wù)器210相當(dāng)于圖1A所示實施例中的抓取單元112或圖1B所示實施例中的抓取單元112’(虛線框所示),控制中心220相當(dāng)于圖1A或圖1B所示實施例中的識別單元111(虛線框所示),爬蟲服務(wù)器210和控制中心220共同實現(xiàn)圖1A或圖1B所示實施例中抓取模塊110的功能,應(yīng)用平臺230與各應(yīng)用(231-1,231-2,一231-1()共同實現(xiàn)圖1A或圖1B所示實施例中執(zhí)行模塊120 (虛線框所示)的功能。
[0039]本實施例作為圖1A和圖1B所示實施例的進一步優(yōu)化,在控制中心220中設(shè)置了控制中心API221以對各應(yīng)用進行識別,并在該爬蟲服務(wù)器210中設(shè)置了存儲單元211,以存儲個應(yīng)用于所需的信息之間的對應(yīng)關(guān)系,爬蟲服務(wù)器210中包括多個爬蟲211-1,211-2,…,211-K,各爬蟲均可以單獨實現(xiàn)抓取單元112’的功能,每個爬蟲的結(jié)構(gòu)都如圖1B中的抓取單元112’所示,可以通過不同的抓取模板112-1,112-2,…,112-K抓取信息。
[0040]具體地,控制中心API221可以接收應(yīng)用平臺230中的應(yīng)用發(fā)出的調(diào)用消息,該調(diào)用消息中包括:所需抓取的信息的數(shù)據(jù)源、信息類型和用于向應(yīng)用平臺230返回信息時所需的回調(diào)接口等。
[0041]控制中心API221接收到調(diào)用消息后,會生成對應(yīng)的任務(wù)ID,并將該任務(wù)ID存儲于控制中心220的任務(wù)隊列222中,任務(wù)ID是調(diào)用消息在任務(wù)隊列222中的唯一標(biāo)識,該任務(wù)列表222可以根據(jù)先后順序存儲各任務(wù)ID,從而按先后順序觸發(fā)爬蟲,使爬蟲抓取應(yīng)用平臺230中的應(yīng)用所需的信息。對于一些有更復(fù)雜需求的信息抓取裝置,還可以設(shè)置為根據(jù)優(yōu)先級或者加權(quán)得分的順序存儲各任務(wù)ID。
[0042]進一步地,爬蟲服務(wù)器210中還可以包括進程監(jiān)控器212,進程監(jiān)控器212用于監(jiān)控爬蟲的進程,例如進程數(shù)量和進程ID。每個爬蟲在進行抓取時建立一個進程,由于爬蟲總數(shù)是已知的,通過對比爬蟲總數(shù)和爬蟲進程數(shù)量,可以判斷目前有多少爬蟲在進行抓取,多少爬蟲處于空閑狀態(tài),由于進程ID和爬蟲是一一對應(yīng)的,通過進程ID,可以確定哪些爬蟲正在抓取信息、哪些爬蟲目前處于空閑狀態(tài),進而可以根據(jù)應(yīng)用的需求,調(diào)用相應(yīng)數(shù)量的處于空閑狀態(tài)的爬蟲,進行信息的抓取。[0043]爬蟲服務(wù)器210在接收到任務(wù)隊列會發(fā)送的任務(wù)ID后,從控制中心220中獲取任務(wù)ID對應(yīng)的調(diào)用消息,根據(jù)該調(diào)用消息確定爬蟲所用的模板以及爬蟲的數(shù)量,并提供符合要求的爬蟲,在爬蟲抓取相應(yīng)信息后,將該信息同步給控制中心220,控制中心220再通過先前獲取的回調(diào)接口將抓取的信息返回至應(yīng)用平臺230中的相應(yīng)應(yīng)用。
[0044]本發(fā)明實施例還提供了一種信息抓取方法,圖3示出了本發(fā)明實施例中的信息抓取方法的流程圖300。該流程圖300結(jié)合圖1A的信息抓取裝置100及圖1B的信息抓取裝置100’進行說明。
[0045]如圖3所示,該方法包括以下步驟:
[0046]步驟310,識別單元111識別執(zhí)行模塊120的類型。
[0047]步驟320,抓取單元112根據(jù)執(zhí)行模塊120的類型抓取對應(yīng)的信息,其中,抓取單元112中預(yù)存了執(zhí)行模塊120和所需抓取的信息之間的對應(yīng)關(guān)系。
[0048]步驟330,執(zhí)行模塊120獲取抓取單元112抓取的信息,并通過信息執(zhí)行預(yù)設(shè)的任務(wù)。
[0049]作為一種優(yōu)選的實現(xiàn)方式,可以通過抓取模板112-1...112-K抓取信息,抓取模板112-1...112-K用于提供抓取策略,通過不同的抓取策略能夠抓取不同的信息。
[0050]為了提高對信息抓取的可控性,可以在根據(jù)信息調(diào)用者的類型抓取對應(yīng)的信息之前,觸發(fā)抓取單元112,使抓取單元112抓取執(zhí)行模塊所需的信息。
[0051]優(yōu)選地,可以按先后順序觸發(fā)抓取單元112,并調(diào)用處于空閑狀態(tài)的抓取單元112。
[0052]本領(lǐng)域技術(shù)人員還可以進一步意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。本領(lǐng)域技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認為超出本發(fā)明的范圍。
[0053]結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或【技術(shù)領(lǐng)域】內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
[0054]以上的【具體實施方式】,對本發(fā)明的目的、技術(shù)方案和有益效果進行了進一步詳細說明,所應(yīng)理解的是,以上僅為本發(fā)明的【具體實施方式】而已,并不用于限定本發(fā)明的保護范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種信息抓取裝置,其特征在于,包括抓取模塊和執(zhí)行模塊,其中, 所述抓取模塊包括: 識別單元,用于識別所述執(zhí)行模塊的類型; 抓取單元,用于根據(jù)所述執(zhí)行模塊的類型抓取對應(yīng)的信息,其中,所述抓取單元中預(yù)存了所述執(zhí)行模塊和所需抓取的信息之間的對應(yīng)關(guān)系; 所述執(zhí)行模塊分別與所述識別單元和所述抓取單元連接,用于獲取所述抓取單元抓取的信息,并通過所述信息執(zhí)行預(yù)設(shè)的任務(wù)。
2.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述抓取單元包括: 多個抓取模板,用于提供抓取策略,通過不同的所述抓取策略能夠抓取不同的信息。
3.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述抓取模塊還包括: 控制單元,用于觸發(fā)所述抓取單元,使所述抓取單元抓取所述執(zhí)行模塊所需的信息。
4.根據(jù)權(quán)利要求3所述的裝置,其特征在于,所述控制單元用于按先后順序觸發(fā)所述抓取單元。
5.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述控制單元還用于調(diào)用處于空閑狀態(tài)的所述抓取單元。
6.—種信息抓取方法,其特征在于,包括: 識別單元識別所述執(zhí)行模塊的類型; 抓取單元根據(jù)所述執(zhí)行模塊的類型抓取對應(yīng)的信息,其中,所述抓取單元中預(yù)存了所述執(zhí)行模塊和所需抓取的信息之間的對應(yīng)關(guān)系; 所述執(zhí)行模塊獲取所述抓取單元抓取的信息,并通過所述信息執(zhí)行預(yù)設(shè)的任務(wù)。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,通過抓取模板抓取所述信息,其中,所述抓取模板用于提供抓取策略,通過不同的所述抓取策略能夠抓取不同的信息。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,在根據(jù)所述信息調(diào)用者的類型抓取對應(yīng)的信息之前,所述方法包括: 觸發(fā)所述抓取單元,使所述抓取單元抓取所述執(zhí)行模塊所需的信息。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,按先后順序觸發(fā)所述抓取單元。
10.根據(jù)權(quán)利要求6所述的方法,其特征在于,調(diào)用處于空閑狀態(tài)的所述抓取單元。
【文檔編號】G06F17/30GK103745017SQ201410046724
【公開日】2014年4月23日 申請日期:2014年2月10日 優(yōu)先權(quán)日:2014年2月10日
【發(fā)明者】鄧濤 申請人:北界創(chuàng)想(北京)軟件有限公司