專(zhuān)利名稱(chēng)::一種有效網(wǎng)頁(yè)內(nèi)容的抓取方法及裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及互聯(lián)網(wǎng)信息處理領(lǐng)域,尤其涉及一種有效網(wǎng)頁(yè)內(nèi)容的抓取方法及裝置。
背景技術(shù):
:目前互聯(lián)網(wǎng)上存有目前人類(lèi)所知的最大的信息庫(kù),其中絕大部分信息都是以HTML(HyperTextMark-upLanugage,超文本鏈接標(biāo)記語(yǔ)言)格式網(wǎng)頁(yè)存在。HTML被用來(lái)結(jié)構(gòu)化信息——例如標(biāo)題、段落和列表,能夠豐富的表現(xiàn)文本,圖片以及其他多媒體信息。結(jié)合HTML閱讀工具“瀏覽器”人們能夠很方便地查看在HTML結(jié)構(gòu)中的信息。但是從信息記錄方面,HTML網(wǎng)頁(yè)包含了大量的用來(lái)結(jié)構(gòu)化信息的標(biāo)簽,同時(shí)網(wǎng)頁(yè)中可能包含很多無(wú)用的信息。并且,隨著各種移動(dòng)終端的蓬勃發(fā)展,移動(dòng)終端對(duì)上網(wǎng)的需求越來(lái)越高,若直接通過(guò)移動(dòng)終端訪(fǎng)問(wèn)HTML頁(yè)面時(shí),由于移動(dòng)終端設(shè)備本身的性能限制,會(huì)使每次訪(fǎng)問(wèn)HTML的連接時(shí)間較長(zhǎng),速度較慢,并且由于大量無(wú)用信息的存在會(huì)導(dǎo)致數(shù)據(jù)傳輸流量較大,使用戶(hù)獲取網(wǎng)頁(yè)的時(shí)間和費(fèi)用都會(huì)較高,因而如何把有用信息從HTML格式網(wǎng)頁(yè)中準(zhǔn)確快速地抽取出來(lái)對(duì)移動(dòng)終端設(shè)備來(lái)說(shuō)變得非常重要。目前的文本信息抽取技術(shù)只能通過(guò)HTML標(biāo)簽信息對(duì)特定HTML標(biāo)簽內(nèi)的內(nèi)容進(jìn)行獲取,針對(duì)于目標(biāo)處理網(wǎng)頁(yè)需要事先考察網(wǎng)頁(yè)HTML標(biāo)簽結(jié)構(gòu),事先定制抽取模板。而對(duì)于事先無(wú)法獲知HTML結(jié)構(gòu)的網(wǎng)頁(yè),文本信息抽取將無(wú)法進(jìn)行。
發(fā)明內(nèi)容為了解決上述問(wèn)題,本發(fā)明主要目的是提供一種有效網(wǎng)頁(yè)內(nèi)容的抓取方法及裝置,使其能夠簡(jiǎn)單、方便地實(shí)現(xiàn)對(duì)通用HTML結(jié)構(gòu)的網(wǎng)頁(yè)進(jìn)行有效信息的抽取。為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種有效網(wǎng)頁(yè)內(nèi)容的抓取方法,所述方法包括以下步驟步驟Sl導(dǎo)入超文本標(biāo)示語(yǔ)言HTML網(wǎng)頁(yè);步驟S2將所述HTML網(wǎng)頁(yè)轉(zhuǎn)換成相應(yīng)的文檔樹(shù)結(jié)構(gòu);步驟S3根據(jù)所述文檔樹(shù)結(jié)構(gòu)找出有效內(nèi)容的標(biāo)題標(biāo)簽,將找出的標(biāo)題標(biāo)簽內(nèi)的文本內(nèi)容作為標(biāo)題;步驟S4在所述文檔樹(shù)結(jié)構(gòu)的<body>標(biāo)簽中,按照與所述標(biāo)題標(biāo)簽由小到大的標(biāo)簽距離依次查找文本標(biāo)簽,將包含有與正文有關(guān)的特定字符并具有大于預(yù)定長(zhǎng)度的文本長(zhǎng)度的文本標(biāo)簽作為正文文本標(biāo)簽,然后將所述正文文本標(biāo)簽的文本內(nèi)容作為正文。根據(jù)本發(fā)明的一個(gè)實(shí)施例,在所述步驟S2中,所述生成相應(yīng)的文檔樹(shù)只包括與所述有效網(wǎng)頁(yè)內(nèi)容有關(guān)的標(biāo)簽,將其它無(wú)關(guān)的標(biāo)簽刪除。根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述步驟S3可具體為在所述文檔樹(shù)結(jié)構(gòu)中找出〈title〉標(biāo)簽;在所述〈title〉標(biāo)簽中查找與所述文檔樹(shù)中<body>標(biāo)簽中相同或者編輯距離相近的文本內(nèi)容,若查找到,則將所述文本內(nèi)容確定為標(biāo)題,否則,在所述〈title〉標(biāo)簽中查找距離所述<body>標(biāo)簽最近的有效文本標(biāo)簽,將所述有效文本標(biāo)簽內(nèi)的文本作為標(biāo)題;其中所述有效文本標(biāo)簽為標(biāo)簽<hl>、<h2>或者所述有效文本標(biāo)簽內(nèi)的文本內(nèi)容字體大于預(yù)定字體號(hào),其中所述預(yù)定字體號(hào)優(yōu)選為5號(hào),并且所述有效文本標(biāo)簽內(nèi)孩子文本標(biāo)簽中的不間斷文本超過(guò)另一預(yù)定值,其中所述另一預(yù)定值優(yōu)選為5個(gè)字。根據(jù)本發(fā)明的一個(gè)實(shí)施例,在步驟S3中找出〈title〉標(biāo)簽之后,還包括過(guò)濾處理步驟對(duì)所述〈title〉標(biāo)簽內(nèi)的文本標(biāo)簽進(jìn)行連字符拆分和/或停用詞處理,將其中的廣告詞或者不是標(biāo)題的其它信息過(guò)濾掉。根據(jù)本發(fā)明的另一個(gè)實(shí)施例,所述步驟S4還包括過(guò)濾步驟S41在查找文本標(biāo)簽過(guò)程中,將具有與廣告信息有關(guān)的另一些特定字符而不包括所述與正文有關(guān)的特定字符的文本標(biāo)簽刪除掉,然后再查找下個(gè)文本標(biāo)簽。其中所述與正文有關(guān)的特定字符優(yōu)選包括、<br>、<div>或〈table〉等,所述預(yù)定長(zhǎng)度優(yōu)選為50個(gè)字。根據(jù)本發(fā)明的另一個(gè)實(shí)施例,所述步驟S4還包括步驟S42在查找文本標(biāo)簽過(guò)程中,根據(jù)鏈接文本長(zhǎng)度和非鏈接文本長(zhǎng)度的占比來(lái)判斷所述文本標(biāo)簽內(nèi)的文本內(nèi)容是否為正文,若所述占比大于0并小于1,則直接判斷該文本標(biāo)簽內(nèi)的文本內(nèi)容為正文;否則判斷所述文本標(biāo)簽內(nèi)的文本內(nèi)容不是正文。根據(jù)本發(fā)明的另一個(gè)實(shí)施例,所述在步驟S3和S4之間還包括時(shí)間抽取步驟S31首先定義時(shí)間信息的正則表達(dá)式根據(jù)步驟S3中已經(jīng)獲得的標(biāo)題標(biāo)簽,查找距離所述標(biāo)題標(biāo)簽最近的符合所述時(shí)間信息正則表達(dá)式的標(biāo)簽,將查找到的所述標(biāo)簽中的內(nèi)容作為時(shí)間。根據(jù)本發(fā)明的再一個(gè)實(shí)施例,在步驟S4之后包括圖片抽取步驟S5將步驟S4中獲得正文標(biāo)簽中的孩子標(biāo)簽進(jìn)行排序,記錄第一個(gè)孩子標(biāo)簽和最后一個(gè)孩子標(biāo)簽;在所述第一孩子標(biāo)簽和所述最后一個(gè)孩子標(biāo)簽中尋找<img>標(biāo)簽,將查找到的<img>標(biāo)簽中的內(nèi)容作為有效內(nèi)容的圖片。本發(fā)明還提供一種有效網(wǎng)頁(yè)內(nèi)容的抓取裝置,所述裝置包括導(dǎo)入模塊,用于導(dǎo)入超文本鏈接標(biāo)示語(yǔ)言HTML網(wǎng)頁(yè);生成模塊,用于將所述HTML網(wǎng)頁(yè)生成相應(yīng)的文檔樹(shù)結(jié)構(gòu);標(biāo)題抽取模塊,用于根據(jù)所述文檔樹(shù)結(jié)構(gòu)找出有效內(nèi)容的標(biāo)題標(biāo)簽,將找出的標(biāo)題標(biāo)簽內(nèi)的文本內(nèi)容作為標(biāo)題;文本抽取模塊,用于在所述文檔樹(shù)結(jié)構(gòu)的<body>標(biāo)簽中,按照與所述標(biāo)題標(biāo)簽由小到大的標(biāo)簽距離依次查找文本標(biāo)簽,將包含有與正文有關(guān)的特定字符和具有大于預(yù)定長(zhǎng)度的文本長(zhǎng)度的文本標(biāo)簽作為正文文本標(biāo)簽,然后將所述正文文本標(biāo)簽的文本內(nèi)容作為正文。進(jìn)一步地,所述標(biāo)題抽取模塊包括Title標(biāo)簽查找單元用于在所述文檔樹(shù)結(jié)構(gòu)中找出〈title〉標(biāo)簽;標(biāo)題確定單元,用于在所述〈title〉標(biāo)簽中查找與所述文檔樹(shù)中<body>標(biāo)簽中相同或者編輯距離相近的文本內(nèi)容,若查找到,則將所述文本內(nèi)容確定為標(biāo)題,否則,在所述〈title〉標(biāo)簽中查找距離所述<body>標(biāo)簽最近的有效文本標(biāo)簽,將所述有效文本標(biāo)簽內(nèi)的文本作為新聞標(biāo)題。其中在所述標(biāo)題確定單元中的所述有效文本標(biāo)簽為標(biāo)簽<hl>、<h2>或者所述有效文本標(biāo)簽內(nèi)的文本內(nèi)容字體大于預(yù)定字體號(hào),并且所述有效文本標(biāo)簽內(nèi)孩子文本標(biāo)簽中的不間斷文本超過(guò)另一預(yù)定值。進(jìn)一步地,在所述Title標(biāo)簽查找單元和標(biāo)題確定單元之間還包括過(guò)濾處理模塊,用于對(duì)所述〈title〉標(biāo)簽內(nèi)的文本標(biāo)簽進(jìn)行連字符拆分和/或停用詞處理,將其中的廣告詞或者不是標(biāo)題的其它信息過(guò)濾掉。進(jìn)一步地,所述文本抽取模塊還包括過(guò)濾模塊,用于在查找文本標(biāo)簽過(guò)程中,將具有與廣告信息有關(guān)的另一些特定字符而不包括所述與正文有關(guān)的特定字符的文本標(biāo)簽刪除掉,然后再查找下個(gè)文本標(biāo)簽。進(jìn)一步地,所述文本抽取模塊還包括占比判斷單元,用于在查找文本標(biāo)簽過(guò)程中,根據(jù)鏈接文本長(zhǎng)度和非鏈接文本長(zhǎng)度的占比來(lái)判斷所述文本標(biāo)簽內(nèi)的文本內(nèi)容是否為正文,若所述占比大于0并小于1,則直接判斷該文本標(biāo)簽內(nèi)的文本內(nèi)容為正文;否則判斷所述文本標(biāo)簽內(nèi)的文本內(nèi)容不是正文。進(jìn)一步地,所述裝置還包括時(shí)間抽取模塊,用于先定義時(shí)間信息的正則表達(dá)式,再根據(jù)所述標(biāo)題抽取模塊中已經(jīng)獲得的標(biāo)題標(biāo)簽,查找距離所述標(biāo)題標(biāo)簽最近的符合所述時(shí)間信息正則表達(dá)式的標(biāo)簽,將查找到的所述標(biāo)簽中的內(nèi)容作為時(shí)間。進(jìn)一步地,所述裝置還包括圖片抽取模塊,用于對(duì)所述文本抽取模塊中所獲得正文標(biāo)簽中的孩子標(biāo)簽進(jìn)行排序,并記錄第一個(gè)孩子標(biāo)簽和最后一個(gè)孩子標(biāo)簽,在所述第一孩子標(biāo)簽和所述最后一個(gè)孩子標(biāo)簽中尋找<img>標(biāo)簽,將查找到的<img>標(biāo)簽中的內(nèi)容作為有效內(nèi)容的圖片。本發(fā)明通過(guò)上述步驟處理,能夠自動(dòng)的從HTML新聞網(wǎng)頁(yè)中抽取出文章標(biāo)題、文章時(shí)間、文章正文、文章圖片鏈接等信息。能夠避免目前抽取技術(shù)所需要的對(duì)于每種網(wǎng)頁(yè)進(jìn)行預(yù)先模板設(shè)置的步驟。提高了對(duì)HTML網(wǎng)頁(yè)抽取的自動(dòng)化程度。圖1為本發(fā)明的一種有效網(wǎng)頁(yè)內(nèi)容的抓取方法流程示意圖;圖2為本發(fā)明的一種HTML文檔樹(shù)的示意性組織結(jié)構(gòu)圖;圖3為本發(fā)明的一種HTML文檔樹(shù)中標(biāo)簽距離示意圖;圖4為根據(jù)本發(fā)明的一種實(shí)施例的抓取新聞網(wǎng)頁(yè)的示意性流程圖;圖5為本發(fā)明的一種有效網(wǎng)頁(yè)內(nèi)容的抓取裝置結(jié)構(gòu)示意圖。具體實(shí)施例方式下面將詳細(xì)描述本發(fā)明的具體實(shí)施例。應(yīng)當(dāng)注意,這里描述的實(shí)施例只用于舉例說(shuō)明,并不用于限制本發(fā)明。本發(fā)明針對(duì)所要抽取的有效內(nèi)容網(wǎng)頁(yè)的整體結(jié)構(gòu)入手考察各種文本實(shí)體在網(wǎng)頁(yè)中的位置信息,特有結(jié)果信息以及標(biāo)簽信息,能夠?qū)崿F(xiàn)網(wǎng)頁(yè)文本實(shí)體的自動(dòng)提取功能。由于網(wǎng)頁(yè)文件符合HTMLDOM(DocumentObjectModel)樹(shù)狀結(jié)構(gòu)。對(duì)于一個(gè)具有有效內(nèi)容的網(wǎng)頁(yè),比如說(shuō)新聞網(wǎng)頁(yè),網(wǎng)頁(yè)中有許多種類(lèi)的標(biāo)簽,從邏輯意義上一般分為,頁(yè)面功能標(biāo)簽,廣告標(biāo)簽,新聞內(nèi)容標(biāo)簽。網(wǎng)頁(yè)信息抽取就是需要從網(wǎng)頁(yè)中抽取出有效內(nèi)容如新網(wǎng)內(nèi)容標(biāo)簽。僅從HTML標(biāo)簽名稱(chēng)和標(biāo)簽屬性上無(wú)法判斷標(biāo)簽的功能,需要借助其他信息判斷標(biāo)簽功能。因而本發(fā)明從標(biāo)簽中文本標(biāo)簽文本長(zhǎng)度以及標(biāo)簽在整個(gè)HTML的文檔DOM樹(shù)(DocumentObjectModel)的位置判斷標(biāo)簽的邏輯功能,從而實(shí)現(xiàn)通用的網(wǎng)頁(yè)有效內(nèi)容文本的抽取功能。本發(fā)明適用于新聞網(wǎng)頁(yè)以及blog網(wǎng)頁(yè)等具有有效內(nèi)容網(wǎng)頁(yè)的抽取,并可過(guò)濾掉廣告或者其他無(wú)用的文本內(nèi)容。如圖1所示,本發(fā)明采用如下步驟進(jìn)行有效內(nèi)容網(wǎng)頁(yè)抽取步驟Sl導(dǎo)入HTML網(wǎng)頁(yè);步驟S2將所述導(dǎo)入的HTML網(wǎng)頁(yè)生成相應(yīng)的HTMLDOM樹(shù)結(jié)構(gòu);步驟S3根據(jù)所述HTMLDOM樹(shù)結(jié)構(gòu)找出有效內(nèi)容的標(biāo)題標(biāo)簽,將找出的標(biāo)題標(biāo)簽內(nèi)的文本內(nèi)容作為標(biāo)題;步驟S4在所述文檔樹(shù)結(jié)構(gòu)的<body>標(biāo)簽中,按照與所述標(biāo)題標(biāo)簽由小到大的標(biāo)簽距離依次查找文本標(biāo)簽,將包含有與正文有關(guān)的特定字符并具有大于預(yù)定長(zhǎng)度的文本長(zhǎng)度的文本標(biāo)簽作為正文文本標(biāo)簽,然后將所述正文文本標(biāo)簽的文本內(nèi)容作為正文。下面結(jié)合附圖將詳細(xì)描述上述各個(gè)步驟。在步驟Sl中,首先要導(dǎo)入HTML網(wǎng)頁(yè),由于本發(fā)明是幫助移動(dòng)設(shè)備處理互聯(lián)網(wǎng)上的HTML網(wǎng)頁(yè)信息,以使提高諸如手機(jī)之類(lèi)的移動(dòng)終端上網(wǎng)速度和快捷獲取所需要信息的能力,因此,本發(fā)明需要對(duì)輸入到移動(dòng)終端之前的網(wǎng)頁(yè)做一次篩選處理,過(guò)濾掉廣告等無(wú)用信息,獲取所需要的有效內(nèi)容,比如說(shuō)新聞網(wǎng)頁(yè)。在步驟S2中,將所述導(dǎo)入的HTML網(wǎng)頁(yè)生成相應(yīng)的HTMLDOM樹(shù)結(jié)構(gòu)。由于HTML是一種格式化的語(yǔ)言,其中文本信息需要被放在HTML標(biāo)簽中,由標(biāo)簽提供對(duì)信息位置、顯示方式等修飾。HTML格式文件中,標(biāo)簽由頂向下組成樹(shù)狀DOM結(jié)構(gòu)。根據(jù)W3CDOM規(guī)范對(duì)HTML標(biāo)簽和文本內(nèi)容有如下的規(guī)定整個(gè)文檔是一個(gè)文檔節(jié)點(diǎn)每個(gè)HTML標(biāo)簽是一個(gè)元素節(jié)點(diǎn)包含在HTML元素中的文本是文本節(jié)點(diǎn)每一個(gè)HTML屬性是一個(gè)屬性節(jié)點(diǎn)如圖2所示,HTML的DOM結(jié)構(gòu)是由文本節(jié)點(diǎn)和標(biāo)簽節(jié)點(diǎn)組成一個(gè)樹(shù)狀組織結(jié)構(gòu),在根標(biāo)簽下還具有<head>、<body>以及<table>等標(biāo)簽。其中在一對(duì)<head>標(biāo)簽中一般存放關(guān)于網(wǎng)頁(yè)標(biāo)題、關(guān)鍵字的內(nèi)容,比如在如下所示的html樣例圖中,一對(duì)<head>標(biāo)簽中還具有一對(duì)〈title〉標(biāo)簽,在〈title〉標(biāo)簽中存放的內(nèi)容就是有效內(nèi)容的標(biāo)題,如新聞網(wǎng)頁(yè)的標(biāo)題。其中在一對(duì)<body>標(biāo)簽下存放的是有效內(nèi)容的正文或圖片等。以下是一個(gè)HTML標(biāo)簽樣例圖<html><head><title>標(biāo)題文本</title></head><body><aherf>超鏈接文本</a><hl>正文文本</hl></body></html>在生成HTMLDOM樹(shù)結(jié)構(gòu)時(shí),可以針對(duì)性的構(gòu)建DOM樹(shù),如,如果只是新聞網(wǎng)頁(yè)范圍內(nèi)內(nèi)容的抽取,只需考慮和新聞內(nèi)容有關(guān)的標(biāo)簽,而其他跟新聞內(nèi)容無(wú)關(guān)的標(biāo)簽都可直接舍棄掉。在生成HTMLDOM樹(shù)之后,進(jìn)行步驟S3來(lái)抽取有效內(nèi)容的標(biāo)題,也即在上述HTMLDOM樹(shù)結(jié)構(gòu)找出〈title〉標(biāo)簽,將找出的標(biāo)題標(biāo)簽內(nèi)的文本內(nèi)容作為標(biāo)題。具體地,在找出〈title〉標(biāo)簽之后,可以對(duì)〈title〉標(biāo)簽內(nèi)的文本標(biāo)簽(hi或h2)進(jìn)行過(guò)濾處理,因?yàn)檎?guī)的新聞網(wǎng)頁(yè)會(huì)在〈title〉標(biāo)簽會(huì)存在新聞標(biāo)題字符串,有些網(wǎng)站會(huì)用中用hi或h2子標(biāo)簽對(duì)新聞標(biāo)題字符串進(jìn)行修飾,可以對(duì)〈title〉標(biāo)簽中的文字進(jìn)行處理以獲得新聞標(biāo)題。比如說(shuō)進(jìn)行連字符拆分和/或停用詞處理將其中的廣告詞或者不是標(biāo)題的其它信息過(guò)濾掉。例如網(wǎng)頁(yè)http://news.xinhuanet.com/world/2010-04/26/c_1255760.html中,〈title〉標(biāo)簽中的字符串為“世博服務(wù)能經(jīng)受住7000萬(wàn)人次考驗(yàn)嗎?_國(guó)際頻道_新華網(wǎng)”。其中“世博服務(wù)能經(jīng)受住7000萬(wàn)人次考驗(yàn)嗎?”為所要新聞;連字符為“_”下劃線(xiàn);停用詞為“國(guó)際頻道”和“新華網(wǎng)”。然后在〈title〉標(biāo)簽內(nèi)尋找與<body>文本標(biāo)簽中相同或者編輯距離相近的文本內(nèi)容,將其確定為標(biāo)題。這里需要解釋說(shuō)明的是,所謂的編輯距離是兩個(gè)字符串之間相似度的度量。是指兩個(gè)字符串之間,由一個(gè)轉(zhuǎn)成另一個(gè)所需的最少編輯操作次數(shù)。許可的編輯操作包括將一個(gè)字符替換成另一個(gè)字符,插入一個(gè)字符,刪除一個(gè)字符。兩個(gè)字符串的編輯距離越小,兩個(gè)字符串越相似。如果上述在〈title〉標(biāo)簽內(nèi)尋找匹配失敗,則還可以另一種方法來(lái)獲取標(biāo)題,該方法為尋找距離<body>標(biāo)簽具有最近標(biāo)簽距離的有效文本標(biāo)簽,該有效文本標(biāo)簽內(nèi)的文本作為新聞標(biāo)題。由于在HTML網(wǎng)頁(yè)中文本標(biāo)簽是文字信息最主要的載體,在網(wǎng)頁(yè)的展示意義上看來(lái),文本信息的最主要的表現(xiàn)形式包括不間斷的文本段的長(zhǎng)度和文字展示的字體大小,因此這里所述有效文本標(biāo)簽需要滿(mǎn)足下述任一條件1)在非<a>超鏈接標(biāo)簽中的文本內(nèi)容中,其不間斷文本超過(guò)一預(yù)定值,如25個(gè)字(漢字或者外文單詞);幻標(biāo)簽為<hl>、<h2>或者其標(biāo)簽內(nèi)的文本內(nèi)容字體大于5號(hào),并且這些標(biāo)簽內(nèi)嵌套的孩子文本標(biāo)簽中不間斷文本超過(guò)另一預(yù)定值,比如5個(gè)字(漢字或者外文單詞)。在計(jì)算有效文本標(biāo)簽與其它標(biāo)簽的標(biāo)簽距離時(shí),要基于它們?cè)贒OM樹(shù)結(jié)構(gòu)中的展示位置關(guān)系來(lái)進(jìn)行,而兩個(gè)標(biāo)簽之間的位置關(guān)系可分為下述三種情況,如圖3和表1所示情況1其中一個(gè)標(biāo)簽為孩子節(jié)點(diǎn)標(biāo)簽,另一個(gè)標(biāo)簽為父節(jié)點(diǎn)標(biāo)簽,孩子節(jié)點(diǎn)標(biāo)簽與其父節(jié)點(diǎn)標(biāo)簽之間的標(biāo)簽距離為0,如標(biāo)簽A和B之間的距離為0;情況2同層的兩標(biāo)簽,其具有相同的父節(jié)點(diǎn),它們的標(biāo)簽距離等于其在相同的父節(jié)點(diǎn)的孩子節(jié)點(diǎn)列表中順序的差值,如標(biāo)簽C和D,其標(biāo)簽距離為-1;情況3擁有不同父節(jié)點(diǎn)的兩標(biāo)簽,其之間的標(biāo)簽距離等于其在相同層次祖先的標(biāo)簽距離。比如說(shuō)A和D的標(biāo)簽距離等于其父字節(jié)B和E之間的標(biāo)簽距離,而B(niǎo)和E之間的標(biāo)簽距離等于-1,因此A和D的標(biāo)簽距離也為-1。表權(quán)利要求1.一種有效網(wǎng)頁(yè)內(nèi)容的抓取方法,其特征在于,所述方法包括以下步驟步驟Sl導(dǎo)入超文本鏈接標(biāo)示語(yǔ)言HTML網(wǎng)頁(yè);步驟S2將所述HTML網(wǎng)頁(yè)轉(zhuǎn)換成相應(yīng)的文檔樹(shù)結(jié)構(gòu);步驟S3根據(jù)所述文檔樹(shù)結(jié)構(gòu)找出有效內(nèi)容的標(biāo)題標(biāo)簽,將找出的標(biāo)題標(biāo)簽內(nèi)的文本內(nèi)容作為標(biāo)題;步驟S4在所述文檔樹(shù)結(jié)構(gòu)的<body>標(biāo)簽中,按照與所述標(biāo)題標(biāo)簽由小到大的標(biāo)簽距離依次查找文本標(biāo)簽,將包含有與正文有關(guān)的特定字符并具有大于預(yù)定長(zhǎng)度的文本長(zhǎng)度的文本標(biāo)簽作為正文文本標(biāo)簽,然后將所述正文文本標(biāo)簽的文本內(nèi)容作為正文。2.根據(jù)權(quán)利要求1所述的抓取方法,其特征在于,所述步驟S2中,所述生成相應(yīng)的文檔樹(shù)包括與所述有效網(wǎng)頁(yè)內(nèi)容有關(guān)的標(biāo)簽,將其它無(wú)關(guān)的標(biāo)簽刪除。3.根據(jù)權(quán)利要求1所述的抓取方法,其特征在于,所述步驟S3具體為在所述文檔樹(shù)結(jié)構(gòu)中找出〈title〉標(biāo)簽;在所述〈title〉標(biāo)簽中查找與所述文檔樹(shù)中<body>標(biāo)簽中文本相同或者編輯距離相近的文本內(nèi)容,若查找到,則將所述文本內(nèi)容確定為標(biāo)題,否則,在所述〈title〉標(biāo)簽中查找距離所述<body>標(biāo)簽最近的有效文本標(biāo)簽,將所述有效文本標(biāo)簽內(nèi)的文本作為標(biāo)題;其中所述有效文本標(biāo)簽為標(biāo)簽<hl>、<h2>或者所述有效文本標(biāo)簽內(nèi)的文本內(nèi)容字體大于預(yù)定字體號(hào),并且所述有效文本標(biāo)簽內(nèi)孩子文本標(biāo)簽中的不間斷文本超過(guò)另一預(yù)定值。4.根據(jù)權(quán)利要求3所述的抓取方法,其特征在于,所述預(yù)定字體號(hào)為5號(hào),所述另一預(yù)定值為5個(gè)字。5.根據(jù)權(quán)利要求3所述的抓取方法,其特征在于,在找出〈title〉標(biāo)簽之后,還包括過(guò)濾處理步驟對(duì)所述〈title〉標(biāo)簽內(nèi)的文本標(biāo)簽進(jìn)行連字符拆分和/或停用詞處理,將其中的廣告詞或者不是標(biāo)題的其它信息過(guò)濾掉。6.根據(jù)權(quán)利要求1所述的抓取方法,其特征在于,所述步驟S4還包括過(guò)濾步驟S41在查找文本標(biāo)簽過(guò)程中,將具有與廣告信息有關(guān)的另一些特定字符而不包括所述與正文有關(guān)的特定字符的文本標(biāo)簽刪除掉,然后再查找下個(gè)文本標(biāo)簽。7.根據(jù)權(quán)利要求1所述的抓取方法,其特征在于,步驟S4中,所述與正文有關(guān)的特定字符包括P>、<br>、<div>或〈table〉,所述預(yù)定長(zhǎng)度為50個(gè)字。8.根據(jù)權(quán)利要求1所述的抓取方法,其特征在于,所述步驟S4還包括步驟S42在查找文本標(biāo)簽過(guò)程中,根據(jù)鏈接文本長(zhǎng)度和非鏈接文本長(zhǎng)度的占比來(lái)判斷所述文本標(biāo)簽內(nèi)的文本內(nèi)容是否為正文,若所述占比大于0并小于1,則直接判斷該文本標(biāo)簽內(nèi)的文本內(nèi)容為正文;否則判斷所述文本標(biāo)簽內(nèi)的文本內(nèi)容不是正文。9.根據(jù)權(quán)利要求1所述的抓取方法,其特征在于,在所述步驟S3和S4之間還包括時(shí)間抽取步驟S31首先定義時(shí)間信息的正則表達(dá)式根據(jù)步驟S3中已經(jīng)獲得的標(biāo)題標(biāo)簽,查找距離所述標(biāo)題標(biāo)簽最近的符合所述時(shí)間信息的正則表達(dá)式的標(biāo)簽,將查找到的所述標(biāo)簽中的內(nèi)容作為時(shí)間。10.根據(jù)權(quán)利要求1所述的抓取方法,其特征在于,在步驟S4之后包括圖片抽取步驟S5將步驟S4中獲得正文標(biāo)簽中的孩子標(biāo)簽進(jìn)行排序,記錄第一個(gè)孩子標(biāo)簽和最后一個(gè)孩子標(biāo)簽;在所述第一孩子標(biāo)簽和所述最后一個(gè)孩子標(biāo)簽中尋找<img>標(biāo)簽,將查找到的<img>標(biāo)簽中的內(nèi)容作為有效內(nèi)容的圖片。11.一種有效網(wǎng)頁(yè)內(nèi)容的抓取裝置,其特征在于,所述裝置包括導(dǎo)入模塊,用于導(dǎo)入超文本鏈接標(biāo)示語(yǔ)言HTML網(wǎng)頁(yè);生成模塊,用于將所述HTML網(wǎng)頁(yè)生成相應(yīng)的文檔樹(shù)結(jié)構(gòu);標(biāo)題抽取模塊,用于根據(jù)所述文檔樹(shù)結(jié)構(gòu)找出有效內(nèi)容的標(biāo)題標(biāo)簽,將找出的標(biāo)題標(biāo)簽內(nèi)的文本內(nèi)容作為標(biāo)題;文本抽取模塊,用于在所述文檔樹(shù)結(jié)構(gòu)的<body>標(biāo)簽中,按照與所述標(biāo)題標(biāo)簽由小到大的標(biāo)簽距離依次查找文本標(biāo)簽,將包含有與正文有關(guān)的特定字符和具有大于預(yù)定長(zhǎng)度的文本長(zhǎng)度的文本標(biāo)簽作為正文文本標(biāo)簽,然后將所述正文文本標(biāo)簽的文本內(nèi)容作為正文。12.根據(jù)權(quán)利要求11所述的抓取裝置,其特征在于,所述標(biāo)題抽取模塊包括Title標(biāo)簽查找單元用于在所述文檔樹(shù)結(jié)構(gòu)中找出〈title〉標(biāo)簽;標(biāo)題確定單元,用于在所述〈title〉標(biāo)簽中查找與所述文檔樹(shù)中<body>標(biāo)簽中相同或者編輯距離相近的文本內(nèi)容,若查找到,則將所述文本內(nèi)容確定為標(biāo)題,否則,在所述〈title〉標(biāo)簽中查找距離所述<body>標(biāo)簽最近的有效文本標(biāo)簽,將所述有效文本標(biāo)簽內(nèi)的文本作為新聞標(biāo)題。其中在所述標(biāo)題確定單元中的所述有效文本標(biāo)簽為標(biāo)簽<hl>、<h2>或者所述有效文本標(biāo)簽內(nèi)的文本內(nèi)容字體大于預(yù)定字體號(hào),并且所述有效文本標(biāo)簽內(nèi)孩子文本標(biāo)簽中的不間斷文本超過(guò)另一預(yù)定值。13.根據(jù)權(quán)利要求12所述的抓取裝置,其特征在于,在所述Title標(biāo)簽查找單元和標(biāo)題確定單元之間還包括過(guò)濾處理模塊,用于對(duì)所述〈title〉標(biāo)簽內(nèi)的文本標(biāo)簽進(jìn)行連字符拆分和/或停用詞處理,將其中的廣告詞或者不是標(biāo)題的其它信息過(guò)濾掉。14.根據(jù)權(quán)利要求11所述的抓取裝置,其特征在于,所述文本抽取模塊還包括過(guò)濾模塊,用于在查找文本標(biāo)簽過(guò)程中,將具有與廣告信息有關(guān)的另一些特定字符而不包括所述與正文有關(guān)的特定字符的文本標(biāo)簽刪除掉,然后再查找下個(gè)文本標(biāo)簽。15.根據(jù)權(quán)利要求11所述的抓取裝置,其特征在于,所述文本抽取模塊還包括占比判斷單元,用于在查找文本標(biāo)簽過(guò)程中,根據(jù)鏈接文本長(zhǎng)度和非鏈接文本長(zhǎng)度的占比來(lái)判斷所述文本標(biāo)簽內(nèi)的文本內(nèi)容是否為正文,若所述占比大于0并小于1,則直接判斷該文本標(biāo)簽內(nèi)的文本內(nèi)容為正文;否則判斷所述文本標(biāo)簽內(nèi)的文本內(nèi)容不是正文。16.根據(jù)權(quán)利要求11所述的抓取裝置,其特征在于,所述裝置還包括時(shí)間抽取模塊,用于先定義時(shí)間信息的正則表達(dá)式,再根據(jù)所述標(biāo)題抽取模塊中已經(jīng)獲得的標(biāo)題標(biāo)簽,查找距離所述標(biāo)題標(biāo)簽最近的符合所述時(shí)間信息正則表達(dá)式的標(biāo)簽,將查找到的所述標(biāo)簽中的內(nèi)容作為時(shí)間。17.根據(jù)權(quán)利要求11所述的抓取方法,其特征在于,所述裝置還包括圖片抽取模塊,用于對(duì)所述文本抽取模塊中所獲得正文標(biāo)簽中的孩子標(biāo)簽進(jìn)行排序,并記錄第一個(gè)孩子標(biāo)簽和最后一個(gè)孩子標(biāo)簽,在所述第一孩子標(biāo)簽和所述最后一個(gè)孩子標(biāo)簽中尋找<img>標(biāo)簽,將查找到的<img>標(biāo)簽中的內(nèi)容作為有效內(nèi)容的圖片。全文摘要本發(fā)明公開(kāi)了一種有效網(wǎng)頁(yè)內(nèi)容的抓取方法及裝置,所述方法包括以下步驟步驟S1導(dǎo)入超文本鏈接標(biāo)示語(yǔ)言HTML網(wǎng)頁(yè);步驟S2將所述HTML網(wǎng)頁(yè)轉(zhuǎn)換成相應(yīng)的文檔樹(shù)結(jié)構(gòu);步驟S3根據(jù)所述文檔樹(shù)結(jié)構(gòu)找出有效內(nèi)容的標(biāo)題標(biāo)簽,將找出的標(biāo)題標(biāo)簽內(nèi)的文本內(nèi)容作為標(biāo)題;步驟S4在所述文檔樹(shù)結(jié)構(gòu)的標(biāo)簽中,按照與所述標(biāo)題標(biāo)簽由小到大的標(biāo)簽距離依次查找文本標(biāo)簽,將包含有與正文有關(guān)的特定字符并具有大于預(yù)定長(zhǎng)度的文本長(zhǎng)度的文本標(biāo)簽作為正文文本標(biāo)簽,然后將所述正文文本標(biāo)簽的文本內(nèi)容作為正文。本發(fā)明能夠簡(jiǎn)單、方便地實(shí)現(xiàn)對(duì)通用的HTML結(jié)構(gòu)網(wǎng)頁(yè)進(jìn)行有效信息的抽取。文檔編號(hào)G06F17/30GK102270206SQ20101019636公開(kāi)日2011年12月7日申請(qǐng)日期2010年6月3日優(yōu)先權(quán)日2010年6月3日發(fā)明者賈海祿申請(qǐng)人:北京迅捷英翔網(wǎng)絡(luò)科技有限公司