本發(fā)明涉及軟件及計算機領(lǐng)域,尤其涉及一種網(wǎng)頁的智能采集方法及系統(tǒng)。
背景技術(shù):
在傳統(tǒng)采集中,用戶需要具備基本的網(wǎng)頁代碼閱讀能力,這樣就局限住了那些需要使用采集功能而不會配置的用戶,并且對于擁有配置能力的用戶也會消耗大量的配置時間。由此大量的采集源配置工作,采集效率、采集數(shù)量的壓力日益增大,市面普通的采集器已經(jīng)不滿足我們的業(yè)務需求,所以研發(fā)部門需要實現(xiàn)以圍繞業(yè)務為核心的高性能、高可用性的智能型采集器及采集方法。
現(xiàn)有的網(wǎng)頁的采集方法性能低,效率低。
技術(shù)實現(xiàn)要素:
本申請?zhí)峁┮环N網(wǎng)頁的智能采集方法。其解決現(xiàn)有技術(shù)的技術(shù)方案性能低,效率低的缺點。
一方面,提供一種網(wǎng)頁的智能采集方法,所述方法包括如下步驟:
計算機設備獲取添加任務以及添加網(wǎng)址;
計算機設備添加網(wǎng)頁的采集規(guī)則,對該采集規(guī)則智能解析;
計算機設備測試采集規(guī)則,在該采集規(guī)則測試通過后,發(fā)布任務;
計算機設備依據(jù)該采集規(guī)則開始采集網(wǎng)頁,并將采集的網(wǎng)頁數(shù)據(jù)發(fā)布。
可選的,所述方法在發(fā)任務之后還包括:
將所述發(fā)布任務同步到數(shù)據(jù)庫中。
可選的,所述方法在對該采集規(guī)則智能解析之前還包括:
人工制定規(guī)則,具體的:用戶通過對網(wǎng)址數(shù)據(jù)結(jié)構(gòu)的分析,制定出提取元素數(shù)據(jù)的規(guī)則;計算機設備自動定位網(wǎng)頁元素,使用戶點擊即可獲取元素內(nèi)容,并由計算機設備生成采集規(guī)則。
可選的,所述對該采集規(guī)則智能解析具體,包括:
對所述采集規(guī)則進行語義算法解析識別出所述采集規(guī)則的有效內(nèi)容,計算出該數(shù)據(jù)的提取規(guī)則。
可選的,所述對該采集規(guī)則智能解析具體,包括:
從規(guī)則庫中查找所述添加網(wǎng)址對應的采集規(guī)則,如規(guī)則庫存所述添加網(wǎng)址,則將所述添加網(wǎng)址對應的采集規(guī)則提取復用。
第二方面,提供一種計算機設備,所述計算機設備包括:
獲取單元,用于獲取添加任務以及添加網(wǎng)址;
處理單元,用于添加網(wǎng)頁的采集規(guī)則,對該采集規(guī)則智能解析,測試采集規(guī)則,在該采集規(guī)則測試通過后,發(fā)布任務,依據(jù)該采集規(guī)則開始采集網(wǎng)頁,并將采集的網(wǎng)頁數(shù)據(jù)發(fā)布。
可選的,所述處理單元,還用于將所述發(fā)布任務同步到數(shù)據(jù)庫中。
可選的,處理單元,還用于人工制定規(guī)則,具體的:用戶通過對網(wǎng)址數(shù)據(jù)結(jié)構(gòu)的分析,制定出提取元素數(shù)據(jù)的規(guī)則;計算機設備自動定位網(wǎng)頁元素,使用戶點擊即可獲取元素內(nèi)容,并由計算機設備生成采集規(guī)則。
可選的,所述處理單元,具體用于對所述采集規(guī)則進行語義算法解析識別出所述采集規(guī)則的有效內(nèi)容,計算出該數(shù)據(jù)的提取規(guī)則。
第三方面,提供一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,該程序被處理器執(zhí)行時實現(xiàn)第一方面提供的網(wǎng)頁的智能采集方法。
本發(fā)明提供的技術(shù)方案通過自動解析采集規(guī)則,實現(xiàn)網(wǎng)頁的自動采集,所以其具有效率高、成本低的優(yōu)點。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明第一較佳實施方式提供的一種網(wǎng)頁的智能采集方法的流程圖;
圖2為本發(fā)明第二較佳實施方式提供的一種計算機設備的結(jié)構(gòu)圖。
圖3為本發(fā)明第二較佳實施方式提供的一種計算機設備的硬件結(jié)構(gòu)圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
請參考圖1,圖1是本發(fā)明第一較佳實施方式提出的一種網(wǎng)頁的智能采集方法,該方法由計算機設備執(zhí)行,該方法如圖1所示,包括如下步驟:
步驟s101、計算機設備獲取添加任務以及添加網(wǎng)址。
步驟s102、計算機設備添加網(wǎng)頁的采集規(guī)則,對該采集規(guī)則智能解析。
步驟s103、計算機設備測試采集規(guī)則,在該采集規(guī)則測試通過后,發(fā)布任務。
步驟s104、計算機設備依據(jù)該采集規(guī)則開始采集網(wǎng)頁,并將采集的網(wǎng)頁數(shù)據(jù)發(fā)布。
可選的,上述方法在步驟s103與步驟s104之間還可以包括:
計算機設備將發(fā)布的任務存儲在數(shù)據(jù)庫。
可選的,上述方法中對該采集規(guī)則進行智能解析的流程如圖2a所示,其中,圖2a一種網(wǎng)頁的智能解析方法的示意圖,通過智能提取采集規(guī)則,可大大減少用戶配置采集規(guī)則所需的時間,并且可幫助普通用戶快速實現(xiàn)規(guī)則提取。該解析方案包含:元素定位提取、規(guī)則數(shù)據(jù)庫匹配、模型數(shù)據(jù)庫匹配、語義算法。其中元素定位提取可最大限度的方便大眾,直接點擊網(wǎng)頁中的某元素,系統(tǒng)便可自動提取出該元素對應的提取規(guī)則(xpath地址、正則參數(shù)提取);然后規(guī)則數(shù)據(jù)庫匹配作為智能解析的第一步操作,若添加的網(wǎng)址類似于規(guī)則庫中網(wǎng)址,則自動提取規(guī)則并校驗,不通過時使用模型數(shù)據(jù)庫,通過語義分析標題的動詞、介詞或副詞組合概率以判斷網(wǎng)址類型,從模型庫中提取該類型的模型規(guī)則進行數(shù)據(jù)提取測驗,將有效的前三個規(guī)則提示給用戶選擇,在用戶進行選擇或修改時,對該規(guī)則進行修正或記錄以達到規(guī)則庫越來越充實、精確。語義算法作為補充功能,當規(guī)則庫和模型庫無法提取出規(guī)則時,對所需類型元素進行統(tǒng)一提取,根據(jù)內(nèi)容進行計算并篩選出可用規(guī)則。
元素規(guī)則提取:通過對網(wǎng)頁元素的點擊,系統(tǒng)自動提取出該元素的提取規(guī)則,包括xpath地址、正則參數(shù)提??;
規(guī)則數(shù)據(jù)庫匹配:作為智能解析的第一步,根據(jù)主域名進行匹配(例如:gd.*.cn類似于sz.*.cn)。找到對應的規(guī)則進行后臺解析,如果其規(guī)則能有效提取數(shù)據(jù),則推薦該規(guī)則。
模型數(shù)據(jù)庫匹配/語義分析:作為智能解析的第二步,模型庫字段由采集源類型決定。由語義分析確認采集源類型,并提取庫中屬于該類型的模型,如果其規(guī)則能有效提取數(shù)據(jù),則推薦該規(guī)則(當多個規(guī)則均采集到數(shù)據(jù)時,同時推薦,取字符長度大小的前3個)。當用戶對規(guī)則進行調(diào)整,并進行有效測試之后,記錄新規(guī)則(增加修正計數(shù)、未調(diào)整則僅記錄引用計數(shù)),當源規(guī)則包含新規(guī)則時,直接進行修正。當用戶新增字段時,則系統(tǒng)對該類型的模型庫添加該字段及初始規(guī)則。
語義算法:語義分析通過對標題、內(nèi)容的動詞/介詞/副詞組合概率以判斷網(wǎng)址類型;語義算法通過對內(nèi)容進行計算并篩選出可用規(guī)則(例如新聞類型的內(nèi)容字段:通過對內(nèi)容長度的反向推算,取不包含div的內(nèi)容(文字)長度最大的底層div以確認包含內(nèi)容的元素并生成提取規(guī)則)。
智能解析規(guī)則
1、語義算法:通過對采集數(shù)據(jù)的語義分析過濾無效內(nèi)容,識別出有效內(nèi)容,并計算出該數(shù)據(jù)的提取規(guī)則。
2、規(guī)則庫:存儲已有網(wǎng)址的采集規(guī)則,當出現(xiàn)相同或相似的新增采集網(wǎng)址時可以提取復用。
3、模型庫:存儲主流數(shù)據(jù)采集模型(支持模型擴展),從而使計算機設備快速識別出所需要提取的元素及生成規(guī)則。
例如:新聞模型,當采集一篇新聞詳情頁網(wǎng)址時,系統(tǒng)可根據(jù)新聞模型自動提取出″標題″、″作者″、″來源″、″發(fā)布時間″、″內(nèi)容″等字段)。
4、自我修正:當通過自動解析生成規(guī)則,用戶變更規(guī)則并進行有效測試(或有效采集)時,計算機設備會自動更新模型庫。
可選的,上述方法在對該規(guī)則智能解析之前還可以包括:
人工制定規(guī)則,具體的:
1、用戶通過對網(wǎng)址數(shù)據(jù)結(jié)構(gòu)的分析,制定出提取元素數(shù)據(jù)的規(guī)則。
2、元素定位:計算機設備自動定位網(wǎng)頁元素,使用戶點擊即可獲取元素內(nèi)容,并由計算機設備生成采集規(guī)則。
參閱圖2b,圖2b提供一種計算機設備,所述計算機設備包括:
獲取單元201,用于獲取添加任務以及添加網(wǎng)址;
處理單元202,用于添加網(wǎng)頁的采集規(guī)則,對該采集規(guī)則智能解析,測試采集規(guī)則,在該采集規(guī)則測試通過后,發(fā)布任務,依據(jù)該采集規(guī)則開始采集網(wǎng)頁,并將采集的網(wǎng)頁數(shù)據(jù)發(fā)布。
可選的,處理單元202,還用于將所述發(fā)布任務同步到數(shù)據(jù)庫中。
可選的,處理單元202,還用于人工制定規(guī)則,具體的:用戶通過對網(wǎng)址數(shù)據(jù)結(jié)構(gòu)的分析,制定出提取元素數(shù)據(jù)的規(guī)則;計算機設備自動定位網(wǎng)頁元素,使用戶點擊即可獲取元素內(nèi)容,并由計算機設備生成采集規(guī)則。
可選的,處理單元202,具體用于對所述采集規(guī)則進行語義算法解析識別出所述采集規(guī)則的有效內(nèi)容,計算出該數(shù)據(jù)的提取規(guī)則。
參閱圖3,圖3為一種計算機設備30,包括:處理器301、收發(fā)器302、存儲器303和總線304,收發(fā)器302用于與外部設備之間收發(fā)數(shù)據(jù)。處理器301的數(shù)量可以是一個或多個。本申請的一些實施例中,處理器301、存儲器302和收發(fā)器303可通過總線304或其他方式連接。計算機設備30可以用于執(zhí)行圖1的步驟。關(guān)于本實施例涉及的術(shù)語的含義以及舉例,可以參考圖1對應的實施例。此處不再贅述。
其中,存儲器303中存儲程序代碼。處理器301用于調(diào)用存儲器303中存儲的程序代碼,用于執(zhí)行以下操作:
處理器301,用于在啟動后,接收位置傳感器發(fā)送的多個位置信息,對多個位置信息進行識別得到第一運動趨勢,查詢第一運動趨勢對應的第一操作,執(zhí)行該第一操作。
需要說明的是,這里的處理器301可以是一個處理元件,也可以是多個處理元件的統(tǒng)稱。例如,該處理元件可以是中央處理器(centralprocessingunit,cpu),也可以是特定集成電路(applicationspecificintegratedcircuit,asic),或者是被配置成本申請實施例的一個或多個集成電路,例如:一個或多個微處理器(digitalsignalprocessor,dsp),或,一個或者多個現(xiàn)場可編程門陣列(fieldprogrammablegatearray,fpga)。
存儲器303可以是一個存儲裝置,也可以是多個存儲元件的統(tǒng)稱,且用于存儲可執(zhí)行程序代碼或應用程序運行裝置運行所需要參數(shù)、數(shù)據(jù)等。且存儲器303可以包括隨機存儲器(ram),也可以包括非易失性存儲器(non-volatilememory),例如磁盤存儲器,閃存(flash)等。
總線304可以是工業(yè)標準體系結(jié)構(gòu)(industrystandardarchitecture,isa)總線、外部設備互連(peripheralcomponent,pci)總線或擴展工業(yè)標準體系結(jié)構(gòu)(extendedindustrystandardarchitecture,eisa)總線等。該總線可以分為地址總線、數(shù)據(jù)總線、控制總線等。為便于表示,圖3中僅用一條粗線表示,但并不表示僅有一根總線或一種類型的總線。
該終端還可以包括輸入輸出裝置,連接于總線304,以通過總線與處理器301等其它部分連接。該輸入輸出裝置可以為操作人員提供一輸入界面,以便操作人員通過該輸入界面選擇布控項,還可以是其它接口,可通過該接口外接其它設備。
需要說明的是,對于前述的各個方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某一些步驟可以采用其他順序或者同時進行。其次,本領(lǐng)域技術(shù)人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
在上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳細描述的部分,可以參見其他實施例的相關(guān)描述。
本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:閃存盤、只讀存儲器(英文:read-onlymemory,簡稱:rom)、隨機存取器(英文:randomaccessmemory,簡稱:ram)、磁盤或光盤等。
以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應理解為對本發(fā)明的限制。