一種提取網(wǎng)頁(yè)正文的方法【專利摘要】一種提取網(wǎng)頁(yè)正文的方法,包括:根據(jù)待提取的網(wǎng)頁(yè)的域名,判斷預(yù)置的站點(diǎn)知識(shí)庫(kù)中是否存儲(chǔ)有對(duì)應(yīng)于該域名的用于提取正文的提取信息;若有,則根據(jù)所述提取信息對(duì)所述網(wǎng)頁(yè)的正文進(jìn)行提?。蝗羲稣军c(diǎn)知識(shí)庫(kù)中沒(méi)有對(duì)應(yīng)于該域名的提取信息,或,根據(jù)該提取信息對(duì)所述網(wǎng)頁(yè)的正文提取失敗,則確定所述網(wǎng)頁(yè)的正文節(jié)點(diǎn),并通過(guò)提取所述正文節(jié)點(diǎn)中的文本獲取所述網(wǎng)頁(yè)的正文。徹底解放人工處理,減少了人工操作和干預(yù)成本;提高了程序提取網(wǎng)頁(yè)正文的效率;實(shí)現(xiàn)了針對(duì)多種語(yǔ)言類的網(wǎng)站的自動(dòng)提取,并且提取難度也會(huì)大大降低?!緦@f(shuō)明】一種提取網(wǎng)頁(yè)正文的方法【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明屬于通信領(lǐng)域,尤其涉及一種提取網(wǎng)頁(yè)正文的方法。【
背景技術(shù):
】[0002]目前提取網(wǎng)站內(nèi)容信息都是針對(duì)當(dāng)前網(wǎng)站,人工去分析網(wǎng)站結(jié)構(gòu),然后針對(duì)網(wǎng)站主體內(nèi)容結(jié)構(gòu)去制定相應(yīng)的模板,當(dāng)網(wǎng)站改版后,則需要人工去判斷,并修改以前的模板,每個(gè)不同站點(diǎn)的內(nèi)容,甚至同個(gè)網(wǎng)站不同類型的站點(diǎn)內(nèi)容,都需要配置一套相應(yīng)的模板,當(dāng)網(wǎng)站數(shù)量越來(lái)越多的時(shí)候,模板制定和維護(hù)的工作量也會(huì)越來(lái)越大,人工干預(yù)成本也會(huì)越來(lái)越高,效率也會(huì)越來(lái)越低?!?br/>發(fā)明內(nèi)容】[0003]有鑒于此,為了解決現(xiàn)有技術(shù)中存在提取網(wǎng)頁(yè)內(nèi)容信息時(shí)需要大量的人工操作和干預(yù)成本的問(wèn)題,本發(fā)明的目的是提出一種提取網(wǎng)頁(yè)正文的方法。為了對(duì)披露的實(shí)施例的一些方面有一個(gè)基本的理解,下面給出了簡(jiǎn)單的概括。該概括部分不是泛泛評(píng)述,也不是要確定關(guān)鍵/重要組成元素或描繪這些實(shí)施例的保護(hù)范圍。其唯一目的是用簡(jiǎn)單的形式呈現(xiàn)一些概念,以此作為后面的詳細(xì)說(shuō)明的序言。[0004]在一些可選的實(shí)施例中,所述方法,包括:[0005]根據(jù)待提取的網(wǎng)頁(yè)的域名,判斷預(yù)置的站點(diǎn)知識(shí)庫(kù)中是否存儲(chǔ)有對(duì)應(yīng)于該域名的用于提取正文的提取信息;[0006]若有,則根據(jù)所述提取信息對(duì)所述網(wǎng)頁(yè)的正文進(jìn)行提?。蝗羲稣军c(diǎn)知識(shí)庫(kù)中沒(méi)有對(duì)應(yīng)于該域名的提取信息,或,根據(jù)該提取信息對(duì)所述網(wǎng)頁(yè)的正文提取失敗,則,[0007]確定所述網(wǎng)頁(yè)的正文節(jié)點(diǎn),并通過(guò)提取所述正文節(jié)點(diǎn)中的文本獲取所述網(wǎng)頁(yè)的正文。[0008]采用上述實(shí)施例,可達(dá)到以下效果:[0009]徹底解放人工處理,減少了人工操作和干預(yù)成本,不需要人工去判斷網(wǎng)站是否改版;[0010]提取內(nèi)容成功后,會(huì)記錄當(dāng)前網(wǎng)頁(yè)結(jié)構(gòu)并保存到站點(diǎn)知識(shí)庫(kù)中,當(dāng)下次再提取相同站點(diǎn)則自動(dòng)從站點(diǎn)知識(shí)庫(kù)中調(diào)取以前的經(jīng)驗(yàn)來(lái)提取正文,提高了程序提取網(wǎng)頁(yè)正文的效率;[0011]預(yù)先根據(jù)不同的語(yǔ)言體系設(shè)置相應(yīng)的提取網(wǎng)頁(yè)正文時(shí)所需的統(tǒng)計(jì)算法和閾值,實(shí)現(xiàn)了針對(duì)多種語(yǔ)言類的網(wǎng)站的自動(dòng)提取,并且提取難度也會(huì)大大降低。[0012]為了上述以及相關(guān)的目的,一個(gè)或多個(gè)實(shí)施例包括后面將詳細(xì)說(shuō)明并在權(quán)利要求中特別指出的特征。下面的說(shuō)明以及附圖詳細(xì)說(shuō)明某些示例性方面,并且其指示的僅僅是各個(gè)實(shí)施例的原則可以利用的各種方式中的一些方式。其它的益處和新穎性特征將隨著下面的詳細(xì)說(shuō)明結(jié)合附圖考慮而變得明顯,所公開(kāi)的實(shí)施例是要包括所有這些方面以及它們的等同。【專利附圖】【附圖說(shuō)明】[0013]此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:[0014]圖1示出了本發(fā)明實(shí)施例的一種提取網(wǎng)頁(yè)正文的方法的流程示意圖;[0015]圖2示出了本發(fā)明實(shí)施例的一種提取網(wǎng)頁(yè)正文的方法的流程示意圖?!揪唧w實(shí)施方式】[0016]以下描述和附圖充分地示出本發(fā)明的具體實(shí)施方案,以使本領(lǐng)域的技術(shù)人員能夠?qū)嵺`它們。其他實(shí)施方案可以包括結(jié)構(gòu)的、邏輯的、電氣的、過(guò)程的以及其他的改變。實(shí)施例僅代表可能的變化。除非明確要求,否則單獨(dú)的部件和功能是可選的,并且操作的順序可以變化。一些實(shí)施方案的部分和特征可以被包括在或替換其他實(shí)施方案的部分和特征。本發(fā)明的實(shí)施方案的范圍包括權(quán)利要求書(shū)的整個(gè)范圍,以及權(quán)利要求書(shū)的所有可獲得的等同物。在本文中,本發(fā)明的這些實(shí)施方案可以被單獨(dú)地或總地用術(shù)語(yǔ)“發(fā)明”來(lái)表示,這僅僅是為了方便,并且如果事實(shí)上公開(kāi)了超過(guò)一個(gè)的發(fā)明,不是要自動(dòng)地限制該應(yīng)用的范圍為任何單個(gè)發(fā)明或發(fā)明構(gòu)思。[0017]圖1示出了本發(fā)明實(shí)施例的一種提取網(wǎng)頁(yè)正文的方法的流程示意圖,[0018]如圖1所示,在一些說(shuō)明性的實(shí)施例中,所述提取網(wǎng)頁(yè)正文的方法,包括以下幾個(gè)步驟:[0019]步驟S101,根據(jù)待提取的網(wǎng)頁(yè)的域名,判斷預(yù)置的站點(diǎn)知識(shí)庫(kù)中是否存儲(chǔ)有對(duì)應(yīng)于該域名的用于提取正文的提取信息;[0020]步驟S102,若有,則根據(jù)所述提取信息對(duì)所述網(wǎng)頁(yè)的正文進(jìn)行提?。蝗羲稣军c(diǎn)知識(shí)庫(kù)中沒(méi)有對(duì)應(yīng)于該域名的提取信息,或,根據(jù)該提取信息對(duì)所述網(wǎng)頁(yè)的正文提取失敗,則確定所述網(wǎng)頁(yè)的正文節(jié)點(diǎn),并通過(guò)提取所述正文節(jié)點(diǎn)中的文本獲取所述網(wǎng)頁(yè)的正文;[0021]上述實(shí)施例描述了一種自動(dòng)提取網(wǎng)頁(yè)正文的方法,在該方法中,站點(diǎn)知識(shí)庫(kù)是預(yù)置的,該站點(diǎn)知識(shí)庫(kù)專門(mén)用于存儲(chǔ)用于提取各種網(wǎng)站的網(wǎng)頁(yè)正文的提取信息,該提取信息包括對(duì)應(yīng)于該域名下的多個(gè)網(wǎng)頁(yè)的正文提取經(jīng)驗(yàn);因此若需要對(duì)某網(wǎng)頁(yè)的正文進(jìn)行提取時(shí),首先根據(jù)該網(wǎng)頁(yè)的域名,從站點(diǎn)知識(shí)庫(kù)中查詢是否有相應(yīng)的提取信息,若有,則依次調(diào)取所述提取信息中的提取經(jīng)驗(yàn)(即正文結(jié)構(gòu)信息)并根據(jù)該提取經(jīng)驗(yàn)對(duì)所述網(wǎng)頁(yè)的正文進(jìn)行提取;若提取失敗,證明站點(diǎn)知識(shí)庫(kù)未記錄該網(wǎng)頁(yè)的提取經(jīng)驗(yàn)或該網(wǎng)頁(yè)已改版;或,若當(dāng)前的站點(diǎn)知識(shí)庫(kù)中未存儲(chǔ)對(duì)應(yīng)于該域名的提取信息,則因此觸發(fā)智能識(shí)別模塊執(zhí)行智能提取流程,首先確定所述網(wǎng)頁(yè)的正文節(jié)點(diǎn),然后提取該正文節(jié)點(diǎn)中的文本;[0022]在上述提取網(wǎng)頁(yè)正文的過(guò)程中,徹底解放人工處理,程序通過(guò)預(yù)置的站點(diǎn)知識(shí)庫(kù)和智能識(shí)別模塊來(lái)提取網(wǎng)頁(yè)正文內(nèi)容,可對(duì)任意主題類網(wǎng)頁(yè)進(jìn)行提取,完全自動(dòng)化,不需要人工干預(yù);不用人工事先對(duì)具體網(wǎng)站生成模板,也不需要人工去判斷網(wǎng)站是否改版,提高了程序提取網(wǎng)頁(yè)正文的效率;[0023]在一些說(shuō)明性的實(shí)施例中,所述確定所述網(wǎng)頁(yè)的正文節(jié)點(diǎn)的操作,包括以下幾個(gè)步驟:[0024]對(duì)所述網(wǎng)頁(yè)進(jìn)行預(yù)處理;[0025]建立正文候選池列表;[0026]根據(jù)所述正文候選池列表推測(cè)正文區(qū)域;[0027]根據(jù)所述正文區(qū)域,判斷出所述正文節(jié)點(diǎn);[0028]在一些說(shuō)明性的實(shí)施例中,所述提取信息包括對(duì)應(yīng)于該域名下多個(gè)網(wǎng)頁(yè)的正文結(jié)構(gòu)信息,并且所述正文結(jié)構(gòu)信息按照成功提取次數(shù)從高到低進(jìn)行排序;根據(jù)所述提取信息對(duì)所述網(wǎng)頁(yè)的正文進(jìn)行提取,具體包括:[0029]按照所述正文結(jié)構(gòu)信息的排列順序,依次調(diào)取相應(yīng)的正文結(jié)構(gòu)信息,并根據(jù)該正文結(jié)構(gòu)信息對(duì)所述網(wǎng)頁(yè)的正文進(jìn)行提取,直到提取成功;[0030]在所述提取成功后,還包括:記錄該正文結(jié)構(gòu)信息的成功提取次數(shù),并根據(jù)當(dāng)前的各所述正文結(jié)構(gòu)信息的成功提取次數(shù)進(jìn)行排序;[0031]從該實(shí)施例中可以看出,在站點(diǎn)知識(shí)庫(kù)中存儲(chǔ)的對(duì)應(yīng)于網(wǎng)站域名的提取信息包括多個(gè)網(wǎng)頁(yè)提取經(jīng)驗(yàn),即正文結(jié)構(gòu)信息;并且這些正文結(jié)構(gòu)信息是按照成功提取次數(shù)排列的,當(dāng)從站點(diǎn)知識(shí)庫(kù)搜索到對(duì)應(yīng)于所述網(wǎng)站域名的提取信息后,會(huì)優(yōu)先調(diào)取成功次數(shù)高的正文結(jié)構(gòu)信息來(lái)對(duì)該網(wǎng)站進(jìn)行提取,以加快網(wǎng)站提取效率;此外,在每次成功提取后,都會(huì)刷新相應(yīng)的正文結(jié)構(gòu)信息的成功提取次數(shù),并重新對(duì)該提取信息中的所有正文結(jié)構(gòu)信息進(jìn)行排序;[0032]在一些說(shuō)明性的實(shí)施例中,在通過(guò)提取所述正文節(jié)點(diǎn)中的文本獲取所述網(wǎng)頁(yè)的正文之后,還包括:[0033]將所述確定所述網(wǎng)頁(yè)的正文節(jié)點(diǎn)的過(guò)程中獲取的正文結(jié)構(gòu)信息添加到所述站點(diǎn)知識(shí)庫(kù)中;[0034]上述實(shí)施例中,若提取網(wǎng)頁(yè)的正文是通過(guò)智能識(shí)別模塊執(zhí)行智能提取流程實(shí)現(xiàn)的,則在成功提取網(wǎng)頁(yè)正文后,本程序都會(huì)自動(dòng)將獲取的網(wǎng)頁(yè)提取經(jīng)驗(yàn)(即正文結(jié)構(gòu)信息)添加到站點(diǎn)知識(shí)庫(kù)中,可以理解為站點(diǎn)知識(shí)庫(kù)自動(dòng)累積經(jīng)驗(yàn)的過(guò)程,以便下次提取該網(wǎng)頁(yè)或與其結(jié)構(gòu)相似的域名相同的網(wǎng)頁(yè)時(shí),可以調(diào)取提取經(jīng)驗(yàn)中的正文結(jié)構(gòu)信息,成功提取正文;此外,在上述過(guò)程中,若站點(diǎn)知識(shí)庫(kù)中已存儲(chǔ)了對(duì)應(yīng)于該網(wǎng)頁(yè)域名的提取信息,則直接將所述正文結(jié)構(gòu)信息添加到提取信息中即可;若站點(diǎn)知識(shí)庫(kù)中未存儲(chǔ)對(duì)應(yīng)于該網(wǎng)頁(yè)域名的提取信息,即站點(diǎn)知識(shí)庫(kù)中從未存儲(chǔ)對(duì)應(yīng)于該網(wǎng)站的提取經(jīng)驗(yàn)時(shí),則將獲取的正文結(jié)構(gòu)信息和域名同時(shí)存儲(chǔ)與站點(diǎn)知識(shí)庫(kù)中;[0035]在一些說(shuō)明性的實(shí)施例中,對(duì)所述網(wǎng)頁(yè)進(jìn)行預(yù)處理,包括:獲取所述網(wǎng)頁(yè)的DOM樹(shù),并根據(jù)已創(chuàng)建的標(biāo)簽類型庫(kù),識(shí)別并刪除該網(wǎng)頁(yè)中的移除類節(jié)點(diǎn)和非移除類節(jié)點(diǎn)中的移除類內(nèi)容,獲取預(yù)處理后的所述網(wǎng)頁(yè)的DOM樹(shù);所述標(biāo)簽類型庫(kù)包括用于判斷網(wǎng)頁(yè)中節(jié)點(diǎn)類型的策略和判斷移除類內(nèi)容的策略,所述節(jié)點(diǎn)類型包括容器類、文本類和移除類;[0036]所述標(biāo)簽類型庫(kù)可以是人工預(yù)先在本系統(tǒng)內(nèi)創(chuàng)建的,在該標(biāo)簽類型庫(kù)中,將網(wǎng)頁(yè)DOM樹(shù)中的節(jié)點(diǎn)類型按照標(biāo)簽的類型分為3類,分別是容器類、文本類和移除類;其中,容器類節(jié)點(diǎn)主要是指類似于table,form,div等類型的標(biāo)簽稱為容器類節(jié)點(diǎn);文本類節(jié)點(diǎn)主要是指類似于td,span,br,p等純文本類型的標(biāo)簽稱為文本類節(jié)點(diǎn),移除類節(jié)點(diǎn)主要是指與正文無(wú)關(guān)的類似于script,frame,style,object等類型的標(biāo)簽稱為移除類節(jié)點(diǎn);根據(jù)上述策略,可以快速判斷網(wǎng)頁(yè)DOM樹(shù)中的節(jié)點(diǎn)屬于哪種節(jié)點(diǎn)類型;此外,在標(biāo)簽類型庫(kù)中還包括用于判斷移除類內(nèi)容的策略,根據(jù)該策略可以將非移除類節(jié)點(diǎn)中的與正文無(wú)關(guān)的內(nèi)容移除,移除類內(nèi)容包括頁(yè)面注釋內(nèi)容、一些非html標(biāo)簽、腳本等信息;在預(yù)處理過(guò)程中,通過(guò)該標(biāo)簽類型庫(kù)可以有效的去除移除類節(jié)點(diǎn)和非移除類節(jié)點(diǎn)中的移除類內(nèi)容,以加快后續(xù)在循環(huán)DOM樹(shù)的速度;[0037]所述建立正文候選池列表,具體包括:[0038]根據(jù)所述標(biāo)簽類型庫(kù)和預(yù)設(shè)的閾值,判斷預(yù)處理后的所述網(wǎng)頁(yè)的DOM樹(shù)中的父節(jié)點(diǎn)為容器類節(jié)點(diǎn)的文本類節(jié)點(diǎn)是否有效;[0039]刪除該DOM樹(shù)中判斷結(jié)果為無(wú)效的節(jié)點(diǎn),并將該DOM樹(shù)中判斷結(jié)果為的有效的所述文本類節(jié)點(diǎn)以及該節(jié)點(diǎn)的父節(jié)點(diǎn)到所述正文候選池列表中;[0040]在上述建立正文候選池列表的過(guò)程中,循環(huán)經(jīng)過(guò)預(yù)處理后的網(wǎng)頁(yè)DOM樹(shù),遇到容器類節(jié)點(diǎn),繼續(xù)遞歸循環(huán)該節(jié)點(diǎn)的子節(jié)點(diǎn),如遇到文本類節(jié)點(diǎn),則先是判斷該節(jié)點(diǎn)是否有效,如果是無(wú)效節(jié)點(diǎn),則直接刪除;如果是有效節(jié)點(diǎn),則保存到文正候選池,并記錄該文本的父節(jié)點(diǎn)對(duì)象;[0041]在一些說(shuō)明性的實(shí)施例中,判斷預(yù)處理后的所述網(wǎng)頁(yè)的DOM樹(shù)中的父節(jié)點(diǎn)為容器類節(jié)點(diǎn)的文本類節(jié)點(diǎn)是否有效的過(guò)程,具體包括:[0042]識(shí)別所述網(wǎng)頁(yè)的字符集編碼,調(diào)取預(yù)設(shè)的算法,計(jì)算出所述文本類節(jié)點(diǎn)的有效節(jié)點(diǎn)特征值;[0043]根據(jù)所述有效節(jié)點(diǎn)特征值和所述預(yù)設(shè)的閾值,判斷該文本類節(jié)點(diǎn)是否有效;其中,所述閾值對(duì)應(yīng)于所述有效節(jié)點(diǎn)特征值;[0044]不同的網(wǎng)頁(yè)可能語(yǔ)言類型不同,針對(duì)多語(yǔ)網(wǎng)站的網(wǎng)頁(yè)正文的提取是十分復(fù)雜的,在本系統(tǒng)中,首先人工將不同語(yǔ)言體系的網(wǎng)頁(yè)的網(wǎng)頁(yè)調(diào)取過(guò)程中所用到的算法和閾值設(shè)置好,在上述判斷文本類節(jié)點(diǎn)是否有效時(shí),通過(guò)識(shí)別所述網(wǎng)頁(yè)的字符集編碼,判斷出該網(wǎng)頁(yè)的語(yǔ)言體系,然后從數(shù)據(jù)庫(kù)中調(diào)取相應(yīng)的統(tǒng)計(jì)算法,計(jì)算該文本類節(jié)點(diǎn)的有效節(jié)點(diǎn)特征值;然后再調(diào)取相應(yīng)的預(yù)置的閾值和上述計(jì)算出的有效節(jié)點(diǎn)特征值進(jìn)行比較,從而判斷該節(jié)點(diǎn)是否有效;[0045]在一些說(shuō)明性的實(shí)施例中,所述有效節(jié)點(diǎn)特征值包括:文本數(shù)(Al)、文本比例(A2)和超鏈接比例(A3);[0046]其中,[0047]文本數(shù)(Al):節(jié)點(diǎn)中不含HTML標(biāo)簽的文本字節(jié)數(shù);[0048]文本比例(A2):節(jié)點(diǎn)中不含HTML標(biāo)簽的文本字節(jié)數(shù)與節(jié)點(diǎn)總字節(jié)數(shù)的比值;[0049]超鏈接比例(A3):節(jié)點(diǎn)中超鏈接的字節(jié)數(shù)與總字節(jié)數(shù)的比值;[0050]分別對(duì)根據(jù)上述有效節(jié)點(diǎn)特征值對(duì)所述文本類節(jié)點(diǎn)進(jìn)行判斷,在上述判斷的過(guò)程中,若其中一項(xiàng)的判斷結(jié)果為無(wú)效,則結(jié)束判斷,并刪除該節(jié)點(diǎn);反之,則繼續(xù)判斷,直到所有有效節(jié)點(diǎn)特征值的判斷結(jié)果均為有效后,將該節(jié)點(diǎn)以及該節(jié)點(diǎn)的父節(jié)點(diǎn)到所述正文候選池列表中;[0051]進(jìn)一步的,上述特征值的判斷順序是Al、A2和A3;[0052]其中,根據(jù)Al進(jìn)行判斷的過(guò)程包括:若所述文本類節(jié)點(diǎn)的Al小于對(duì)應(yīng)于所述文本數(shù)的閾值,則判斷結(jié)果為無(wú)效;反之,則判斷結(jié)果為有效;[0053]根據(jù)A2進(jìn)行判斷的過(guò)程包括:若所述文本類節(jié)點(diǎn)的A2小于對(duì)應(yīng)于所述文本比例的閾值,則判斷結(jié)果為無(wú)效;反之,則判斷結(jié)果為有效;[0054]根據(jù)A3進(jìn)行判斷的過(guò)程包括:若所述文本類節(jié)點(diǎn)的A3大于對(duì)應(yīng)于所述超鏈接比例的閾值,則判斷結(jié)果為無(wú)效;反之,則判斷結(jié)果為有效;[0055]在一些說(shuō)明性的實(shí)施例中,根據(jù)所述正文候選池列表推測(cè)正文區(qū)域,具體包括:[0056]首先,將所述正文候選池列表中存儲(chǔ)的第一位的文本類節(jié)點(diǎn)的文本字節(jié)數(shù)保存于第一變量BI中,將該文本類節(jié)點(diǎn)的父節(jié)點(diǎn)保存于第二變量B2中;[0057]然后,依次循環(huán)所述正文候選池列表中的其它文本類節(jié)點(diǎn),若父節(jié)點(diǎn)一致,則將該文本類節(jié)點(diǎn)的文本字節(jié)數(shù)累加到所述BI中;若父節(jié)點(diǎn)不一致,則判斷該文本類節(jié)點(diǎn)的文本字節(jié)數(shù)是否大于BI,若大于,則將BI在值替換為該節(jié)點(diǎn)的文本字節(jié)數(shù),并將B2替換為該節(jié)點(diǎn)的父節(jié)點(diǎn),反之,則跳過(guò)該節(jié)點(diǎn),繼續(xù)循環(huán);[0058]最后,當(dāng)循環(huán)完所述正文候選池列表中的所有數(shù)據(jù)后,所述B2中所記錄的父節(jié)點(diǎn)為所述推測(cè)的正文區(qū)域;[0059]在一些說(shuō)明性的實(shí)施例中,根據(jù)所述正文區(qū)域,判斷出所述正文節(jié)點(diǎn),具體包括:[0060]將所述變量B2中所述記錄的父節(jié)點(diǎn)保存于正文節(jié)點(diǎn)對(duì)象Cl中,然后以該節(jié)點(diǎn)為對(duì)象,分別向前逆序和向后順序解析所述預(yù)處理后的所述網(wǎng)頁(yè)的DOM樹(shù),獲取該節(jié)點(diǎn)的所有兄弟節(jié)點(diǎn),并比較所述兄弟節(jié)點(diǎn)與本節(jié)點(diǎn)是否相似,若不存在與本節(jié)點(diǎn)相似的兄弟節(jié)點(diǎn),則停止解析,并判斷當(dāng)前的Cl為所述正文節(jié)點(diǎn);[0061]若存在于本節(jié)點(diǎn)相似的兄弟節(jié)點(diǎn),則將Cl中存儲(chǔ)的節(jié)點(diǎn)替換為本節(jié)點(diǎn)與所述兄弟節(jié)點(diǎn)的父節(jié)點(diǎn),并繼續(xù)重復(fù)所述解析所述預(yù)處理后的所述網(wǎng)頁(yè)的DOM樹(shù)的過(guò)程,直到不存在與當(dāng)前的Cl中存儲(chǔ)的節(jié)點(diǎn)相似的兄弟節(jié)點(diǎn),則該Cl為所述正文節(jié)點(diǎn);[0062]可選的,在判斷出正文節(jié)點(diǎn)與根據(jù)正文節(jié)點(diǎn)獲取最終正文信息之間,還包括:清洗正文節(jié)點(diǎn)對(duì)象Cl的過(guò)程;在該過(guò)程中,獲取的Cl對(duì)象進(jìn)行遞歸循環(huán),上述有效節(jié)點(diǎn)特征值進(jìn)行判斷,將Cl中存在的跟正文無(wú)關(guān)信息的無(wú)效節(jié)點(diǎn)過(guò)濾掉,并將節(jié)點(diǎn)下的隱藏(hidden屬性)信息也過(guò)濾掉,得到最終內(nèi)容則為正文信息;[0063]在一些說(shuō)明性的實(shí)施例中,通過(guò)比較所述兄弟節(jié)點(diǎn)是否滿足以下3個(gè)特征,判斷所述兄弟節(jié)點(diǎn)與本節(jié)點(diǎn)是否相似,所述3個(gè)特征依次為:[0064]是否有相同的根節(jié)點(diǎn);標(biāo)簽名稱是否相同;子節(jié)點(diǎn)結(jié)構(gòu)是否相同,是否都為同一類標(biāo)簽;[0065]若滿足,則所述兄弟節(jié)點(diǎn)與本節(jié)點(diǎn)相似;反之,則不相似。[0066]圖2是網(wǎng)頁(yè)正文智能提取的流程示意圖;在該流程示意圖中,可以看出本系統(tǒng)主要分為兩個(gè)模塊:站點(diǎn)知識(shí)庫(kù)模塊,用于站點(diǎn)知識(shí)庫(kù)的提取信息累積;智能識(shí)別模塊,用于智能提取流程;如圖2所示,具體流程如下:[0067]步驟S201,獲取待提取的網(wǎng)頁(yè);[0068]步驟S202,調(diào)取站點(diǎn)知識(shí)庫(kù),并判斷是否存在相應(yīng)的提取/[目息;[0069]若不存在,則觸發(fā)步驟S203;反之,則觸發(fā)步驟S207;[0070]其中,所述站點(diǎn)知識(shí)庫(kù)通過(guò)站點(diǎn)知識(shí)庫(kù)模塊進(jìn)行提取信息累積;具體可以通過(guò)以下兩種方式:[0071]步驟S2021:人工指導(dǎo),即人工將提取信息輸入到站點(diǎn)知識(shí)庫(kù)中;[0072]步驟S2022:機(jī)器學(xué)習(xí),即在智能識(shí)別模塊成功提取正文后,將提取經(jīng)驗(yàn)(如正文結(jié)構(gòu)信息)和該網(wǎng)頁(yè)所在網(wǎng)站的域名,存儲(chǔ)于站點(diǎn)知識(shí)庫(kù)中;其中,步驟S2021和S2022是站點(diǎn)知識(shí)庫(kù)模塊執(zhí)行的;[0073]步驟S203,頁(yè)面預(yù)處理;[0074]將該網(wǎng)頁(yè)DOM樹(shù)結(jié)構(gòu)中的移除類節(jié)點(diǎn)和移除類內(nèi)容移除;[0075]步驟S204,建立正文候選池列表;[0076]循環(huán)預(yù)處理后得到的網(wǎng)頁(yè)DOM樹(shù),遇到容器類節(jié)點(diǎn),繼續(xù)遞歸循環(huán)該節(jié)點(diǎn)的子節(jié)點(diǎn),如遇到文本類節(jié)點(diǎn),則先是判斷該節(jié)點(diǎn)是否有效,如果是無(wú)效節(jié)點(diǎn),則直接刪除;如果是有效節(jié)點(diǎn),則保存到文正候選池,并記錄該文本的父節(jié)點(diǎn)對(duì)象;其中,根據(jù)3個(gè)有效節(jié)點(diǎn)特征值進(jìn)行上述判斷是否有效的過(guò)程,分別是文本數(shù)、文本比例和超鏈接比例;[0077]步驟S205,推測(cè)正文區(qū)域;[0078]先假設(shè)候選池列表中第一位節(jié)點(diǎn)數(shù)據(jù)為正文,則將該節(jié)點(diǎn)文本長(zhǎng)度BI和該父節(jié)點(diǎn)對(duì)象B2保存在全局變量中,然后依次循環(huán)候選列表池中其他節(jié)點(diǎn)數(shù)據(jù),如果父節(jié)點(diǎn)對(duì)象一致,則累加文本長(zhǎng)度到全局變量BI,如果父節(jié)點(diǎn)不一致,當(dāng)文本長(zhǎng)度小于全局變量BI時(shí),則直接跳過(guò);當(dāng)大于BI時(shí)候,則將該節(jié)點(diǎn)文本長(zhǎng)度替換BI,該節(jié)點(diǎn)父對(duì)象替換B2;當(dāng)候選池列表中數(shù)據(jù)循環(huán)完成后,這個(gè)B2對(duì)象就為推測(cè)正文區(qū)域;[0079]步驟S206,獲取正文節(jié)點(diǎn);[0080]將通過(guò)步驟S205得出的B2對(duì)象保存到Cl(正文節(jié)點(diǎn)對(duì)象)中,以Cl為中心開(kāi)始分別向前逆序和向后順序解析DOM樹(shù),解析出Cl對(duì)象的兄弟節(jié)點(diǎn),并比較兄弟節(jié)點(diǎn)所代表的子節(jié)點(diǎn),如果存在跟Cl對(duì)象非常相似子節(jié)點(diǎn),則斷定該父節(jié)點(diǎn)為文本節(jié)點(diǎn),并繼續(xù)重復(fù)步驟S206的操作;當(dāng)沒(méi)有兄弟節(jié)點(diǎn)存在跟Cl相似子節(jié)點(diǎn),則停止解析,并斷定當(dāng)前Cl則為正文節(jié)點(diǎn)對(duì)象;[0081]步驟S207,輸出正文內(nèi)容;[0082]若該步驟在步驟S206后執(zhí)行,則根據(jù)獲取的正文節(jié)點(diǎn),從網(wǎng)頁(yè)中提取該正文節(jié)點(diǎn)中的正文信息;[0083]若該步驟在步驟S202判斷出站點(diǎn)知識(shí)庫(kù)中存在提取信息后執(zhí)行,則根據(jù)提取信息中提取經(jīng)驗(yàn)(正文結(jié)構(gòu)信息)的排列順序,依次調(diào)取正文結(jié)構(gòu)信息,并提取正文,若提取成功,則結(jié)束流程;若不成功,則繼續(xù)調(diào)用下一個(gè)正文結(jié)構(gòu)信息,并進(jìn)行提?。蝗粽{(diào)取全部正文結(jié)構(gòu)信息都無(wú)法成功提取正文,則觸發(fā)步驟S203,指示智能識(shí)別模塊執(zhí)行智能提取流程,重新分析該網(wǎng)頁(yè)提取其正文,并在提取成功后將探測(cè)結(jié)果數(shù)據(jù)(正文結(jié)構(gòu)信息和域名)發(fā)送到站點(diǎn)知識(shí)庫(kù)模塊,以便站點(diǎn)知識(shí)庫(kù)模板通過(guò)機(jī)器學(xué)習(xí)的方式,將正文結(jié)構(gòu)信息添加到站點(diǎn)知識(shí)庫(kù)中。[0084]采用上述實(shí)施例,可達(dá)到以下效果:[0085]徹底解放人工處理,減少了人工操作和干預(yù)成本,不需要人工去判斷網(wǎng)站是否改版;[0086]提取內(nèi)容成功后,會(huì)記錄當(dāng)前網(wǎng)頁(yè)結(jié)構(gòu)并保存到站點(diǎn)知識(shí)庫(kù)中,當(dāng)下次再提取相同站點(diǎn)則自動(dòng)從站點(diǎn)知識(shí)庫(kù)中調(diào)取以前的經(jīng)驗(yàn)來(lái)提取正文,提高了程序提取網(wǎng)頁(yè)正文的效率;[0087]預(yù)先根據(jù)不同的語(yǔ)言體系設(shè)置相應(yīng)的提取網(wǎng)頁(yè)正文時(shí)所需的統(tǒng)計(jì)算法和閾值,實(shí)現(xiàn)了針對(duì)多種語(yǔ)言類的網(wǎng)站的自動(dòng)提取,并且提取難度也會(huì)大大降低。[0088]本領(lǐng)域技術(shù)人員還應(yīng)當(dāng)理解,結(jié)合本文的實(shí)施例描述的各種說(shuō)明性的邏輯框、模塊、電路和算法步驟均可以實(shí)現(xiàn)成電子硬件、計(jì)算機(jī)軟件或其組合。為了清楚地說(shuō)明硬件和軟件之間的可交換性,上面對(duì)各種說(shuō)明性的部件、框、模塊、電路和步驟均圍繞其功能進(jìn)行了一般地描述。至于這種功能是實(shí)現(xiàn)成硬件還是實(shí)現(xiàn)成軟件,取決于特定的應(yīng)用和對(duì)整個(gè)系統(tǒng)所施加的設(shè)計(jì)約束條件。熟練的技術(shù)人員可以針對(duì)每個(gè)特定應(yīng)用,以變通的方式實(shí)現(xiàn)所描述的功能,但是,這種實(shí)現(xiàn)決策不應(yīng)解釋為背離本公開(kāi)的保護(hù)范圍。[0089]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)?!緳?quán)利要求】1.一種提取網(wǎng)頁(yè)正文的方法,其特征在于,包括:根據(jù)待提取的網(wǎng)頁(yè)的域名,判斷預(yù)置的站點(diǎn)知識(shí)庫(kù)中是否存儲(chǔ)有對(duì)應(yīng)于該域名的用于提取正文的提取信息;若有,則根據(jù)所述提取信息對(duì)所述網(wǎng)頁(yè)的正文進(jìn)行提?。蝗羲稣军c(diǎn)知識(shí)庫(kù)中沒(méi)有對(duì)應(yīng)于該域名的提取信息,或,根據(jù)該提取信息對(duì)所述網(wǎng)頁(yè)的正文提取失敗,則,確定所述網(wǎng)頁(yè)的正文節(jié)點(diǎn),并通過(guò)提取所述正文節(jié)點(diǎn)中的文本獲取所述網(wǎng)頁(yè)的正文。2.如權(quán)利要求1所述的方法,其特征在于,所述確定所述網(wǎng)頁(yè)的正文節(jié)點(diǎn)的操作,包括以下幾個(gè)步驟:對(duì)所述網(wǎng)頁(yè)進(jìn)行預(yù)處理;建立正文候選池列表;根據(jù)所述正文候選池列表推測(cè)正文區(qū)域;根據(jù)所述正文區(qū)域,判斷出所述正文節(jié)點(diǎn)。3.如權(quán)利要求1所述的方法,其特征在于,所述提取信息包括對(duì)應(yīng)于該域名下多個(gè)網(wǎng)頁(yè)的正文結(jié)構(gòu)信息,并且所述正文結(jié)構(gòu)信息按照成功提取次數(shù)從高到低進(jìn)行排序;根據(jù)所述提取信息對(duì)所述網(wǎng)頁(yè)的正文進(jìn)行提取,具體包括:按照所述正文結(jié)構(gòu)信息的排列順序,依次調(diào)取相應(yīng)的正文結(jié)構(gòu)信息,并根據(jù)該正文結(jié)構(gòu)信息對(duì)所述網(wǎng)頁(yè)的正文進(jìn)行提取,直到提取成功;在所述提取成功后,還包括:記錄該正文結(jié)構(gòu)信息的成功提取次數(shù),并根據(jù)當(dāng)前的各所述正文結(jié)構(gòu)信息的成功提取次數(shù)進(jìn)行排序。4.如權(quán)利要求3所述的方法,其特征在于,在通過(guò)提取所述正文節(jié)點(diǎn)中的文本獲取所述網(wǎng)頁(yè)的正文之后,還包括:將所述確定所述網(wǎng)頁(yè)的正文節(jié)點(diǎn)的過(guò)程中獲取的正文結(jié)構(gòu)信息添加到所述站點(diǎn)知識(shí)庫(kù)中。5.如權(quán)利要求2所述的方法,其特征在于,對(duì)所述網(wǎng)頁(yè)進(jìn)行預(yù)處理,包括:獲取所述網(wǎng)頁(yè)的DOM樹(shù),并根據(jù)已創(chuàng)建的標(biāo)簽類型庫(kù),識(shí)別并刪除該網(wǎng)頁(yè)中的移除類節(jié)點(diǎn)和非移除類節(jié)點(diǎn)中的移除類內(nèi)容,獲取預(yù)處理后的所述網(wǎng)頁(yè)的DOM樹(shù);所述標(biāo)簽類型庫(kù)包括用于判斷網(wǎng)頁(yè)中節(jié)點(diǎn)類型的策略和判斷移除類內(nèi)容的策略,所述節(jié)點(diǎn)類型包括容器類、文本類和移除類;所述建立正文候選池列表,具體包括:根據(jù)所述標(biāo)簽類型庫(kù)和預(yù)設(shè)的閾值,判斷預(yù)處理后的所述網(wǎng)頁(yè)的DOM樹(shù)中的父節(jié)點(diǎn)為容器類節(jié)點(diǎn)的文本類節(jié)點(diǎn)是否有效;刪除該DOM樹(shù)中判斷結(jié)果為無(wú)效的節(jié)點(diǎn),并將該DOM樹(shù)中判斷結(jié)果為的有效的所述文本類節(jié)點(diǎn)以及該節(jié)點(diǎn)的父節(jié)點(diǎn)到所述正文候選池列表中。6.如權(quán)利要求5所述的方法,其特征在于,判斷預(yù)處理后的所述網(wǎng)頁(yè)的DOM樹(shù)中的父節(jié)點(diǎn)為容器類節(jié)點(diǎn)的文本類節(jié)點(diǎn)是否有效的過(guò)程,具體包括:識(shí)別所述網(wǎng)頁(yè)的字符集編碼,調(diào)取預(yù)設(shè)的算法,計(jì)算出所述文本類節(jié)點(diǎn)的有效節(jié)點(diǎn)特征值;根據(jù)所述有效節(jié)點(diǎn)特征值和所述預(yù)設(shè)的閾值,判斷該文本類節(jié)點(diǎn)是否有效;其中,所述閾值對(duì)應(yīng)于所述有效節(jié)點(diǎn)特征值。7.如權(quán)利要求6所述的方法,其特征在于,所述有效節(jié)點(diǎn)特征值包括:文本數(shù)、文本比例和超鏈接比例;分別對(duì)根據(jù)上述有效節(jié)點(diǎn)特征值對(duì)所述文本類節(jié)點(diǎn)進(jìn)行判斷,在上述判斷的過(guò)程中,若其中一項(xiàng)的判斷結(jié)果為無(wú)效,則結(jié)束判斷,并刪除該節(jié)點(diǎn);反之,則繼續(xù)判斷,直到所有有效節(jié)點(diǎn)特征值的判斷結(jié)果均為有效后,將該節(jié)點(diǎn)以及該節(jié)點(diǎn)的父節(jié)點(diǎn)到所述正文候選池列表中;其中,根據(jù)文本數(shù)進(jìn)行判斷的過(guò)程包括:若所述文本類節(jié)點(diǎn)的文本數(shù)小于對(duì)應(yīng)于所述文本數(shù)的閾值,則判斷結(jié)果為無(wú)效;反之,則判斷結(jié)果為有效;根據(jù)文本比例進(jìn)行判斷的過(guò)程包括:若所述文本類節(jié)點(diǎn)的文本比例小于對(duì)應(yīng)于所述文本比例的閾值,則判斷結(jié)果為無(wú)效;反之,則判斷結(jié)果為有效;根據(jù)超鏈接比例進(jìn)行判斷的過(guò)程包括:若所述文本類節(jié)點(diǎn)的超鏈接比例大于對(duì)應(yīng)于所述超鏈接比例的閾值,則判斷結(jié)果為無(wú)效;反之,則判斷結(jié)果為有效。8.如權(quán)利要求5所述的方法,其特征在于,根據(jù)所述正文候選池列表推測(cè)正文區(qū)域,具體包括:首先,將所述正文候選池列表中存儲(chǔ)的第一位的文本類節(jié)點(diǎn)的文本字節(jié)數(shù)保存于第一變量中,將該文本類節(jié)點(diǎn)的父節(jié)點(diǎn)保存于第二變量中;其次,依次循環(huán)所述正文候選池列表中的其它文本類節(jié)點(diǎn),若父節(jié)點(diǎn)一致,則將該文本類節(jié)點(diǎn)的文本字節(jié)數(shù)累加到所述第一變量中;若父節(jié)點(diǎn)不一致,則判斷該文本類節(jié)點(diǎn)的文本字節(jié)數(shù)是否大于第一變量,若大于,則將第一變量在值替換為該節(jié)點(diǎn)的文本字節(jié)數(shù),并將第二變量替換為該節(jié)點(diǎn)的父節(jié)點(diǎn),反之,則跳過(guò)該節(jié)點(diǎn),繼續(xù)循環(huán);最后,當(dāng)循環(huán)完所述正文候選池列表中的所有數(shù)據(jù)后,所述第二變量中所記錄的父節(jié)點(diǎn)為所述推測(cè)的正文區(qū)域。9.如權(quán)利要求8所述的方法,其特征在于,根據(jù)所述正文區(qū)域,判斷出所述正文節(jié)點(diǎn),具體包括:將所述第二變量中所述記錄的父節(jié)點(diǎn)保存于正文節(jié)點(diǎn)對(duì)象中,然后以該節(jié)點(diǎn)為對(duì)象,分別向前逆序和向后順序解析所述預(yù)處理后的所述網(wǎng)頁(yè)的DOM樹(shù),獲取該節(jié)點(diǎn)的所有兄弟節(jié)點(diǎn),并比較所述兄弟節(jié)點(diǎn)與本節(jié)點(diǎn)是否相似,若不存在與本節(jié)點(diǎn)相似的兄弟節(jié)點(diǎn),則停止解析,并判斷當(dāng)前的正文節(jié)點(diǎn)對(duì)象為所述正文節(jié)點(diǎn);若存在于本節(jié)點(diǎn)相似的兄弟節(jié)點(diǎn),則將正文節(jié)點(diǎn)對(duì)象中存儲(chǔ)的節(jié)點(diǎn)替換為本節(jié)點(diǎn)與所述兄弟節(jié)點(diǎn)的父節(jié)點(diǎn),并繼續(xù)重復(fù)所述解析所述預(yù)處理后的所述網(wǎng)頁(yè)的DOM樹(shù)的過(guò)程,直到不存在與當(dāng)前的正文節(jié)點(diǎn)對(duì)象中存儲(chǔ)的節(jié)點(diǎn)相似的兄弟節(jié)點(diǎn),則該正文節(jié)點(diǎn)對(duì)象為所述正文節(jié)點(diǎn)。10.如權(quán)利要求9所述的方法,其特征在于,通過(guò)比較所述兄弟節(jié)點(diǎn)是否滿足以下3個(gè)特征,判斷所述兄弟節(jié)點(diǎn)與本節(jié)點(diǎn)是否相似,所述3個(gè)特征依次為:是否有相同的根節(jié)點(diǎn);標(biāo)簽名稱是否相同;子節(jié)點(diǎn)結(jié)構(gòu)是否相同,是否都為同一類標(biāo)簽;若滿足,則所述兄弟節(jié)點(diǎn)與本節(jié)點(diǎn)相似;反之,則不相似。【文檔編號(hào)】G06F17/30GK104376061SQ201410629258【公開(kāi)日】2015年2月25日申請(qǐng)日期:2014年11月10日優(yōu)先權(quán)日:2014年11月10日【發(fā)明者】江潮,賀建華,蔣漢華申請(qǐng)人:武漢傳神信息技術(shù)有限公司