一種網(wǎng)頁正文提取方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,特別涉及一種網(wǎng)頁正文提取方法及裝置。
【背景技術(shù)】
[0002]隨著網(wǎng)頁信息資源快速的發(fā)展,每天都會產(chǎn)生很多網(wǎng)頁。網(wǎng)頁中可以包括正文信息和一些廣告信息。如何從網(wǎng)頁中提取出正文,變得十分重要。
[0003]現(xiàn)有技術(shù)中,通過網(wǎng)頁中標簽之間的嵌套關(guān)系先從HTML(Hyper Text Mark-upLanguage,超文本標記語言文件)網(wǎng)頁中解析出DOM(Document Object Model,文件對象模型)樹,然后遍歷所有DOM樹,依據(jù)正文信息在DOM樹中的分布規(guī)律確定正文的位置。
[0004]通過上述描述可見,現(xiàn)有技術(shù)中提取網(wǎng)頁正文的方法需要遍歷所有DOM樹,提取網(wǎng)頁正文的速度較慢。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明提供了一種網(wǎng)頁正文提取方法及裝置,能夠提高提取網(wǎng)頁正文的速度。
[0006]本發(fā)明提供了一種網(wǎng)頁正文提取方法,包括:
[0007]提取待提取網(wǎng)頁的所有語義塊;
[0008]將所述待提取網(wǎng)頁均勻分割成多個區(qū)域塊;
[0009]對所有區(qū)域塊進行預設個數(shù)次隨機抽樣;
[0010]確定被抽中的區(qū)域塊所在的語義塊;
[0011]計算出每個語義塊的抽樣分布概率;
[0012]確定抽樣分布概率大于等于預設概率的語義塊為網(wǎng)頁正文所在的語義塊。
[0013]進一步地,所述提取待提取網(wǎng)頁的所有語義塊,包括:
[0014]S1:對所述待提取網(wǎng)頁的HTML源碼建立文件對象模型DOM樹;
[0015]S2:根據(jù)所述DOM樹獲得所述待提取網(wǎng)頁的所有語義塊。
[0016]進一步地,所述S2,包括:
[0017]Sll:對所述DOM樹進行頁面分塊,提取出所有的頁面塊;
[0018]S12:根據(jù)所述頁面塊,檢測出頁面塊之間的所有分割條;
[0019]S13:根據(jù)所述分割條對所述頁面塊進行合并,得到合并后的頁面塊;
[0020]S14:獲取合并后的頁面塊的內(nèi)容相關(guān)度,判斷當前頁面塊的內(nèi)容相關(guān)度是否大于等于預設值,如果是,則確定當前頁面塊為語義塊,否則,建立當前頁面塊的DOM樹,返回步驟 Sll0
[0021]進一步地,在所述SI之前,還包括:
[0022]對所述待提取網(wǎng)頁進行網(wǎng)頁糾錯,獲得DOM樹結(jié)構(gòu)完整的待提取網(wǎng)頁。
[0023]進一步地,還包括:記錄每個語義塊的坐標值和每個區(qū)域塊的坐標值;
[0024]所述確定被抽中的區(qū)域塊所在的語義塊,包括:
[0025]根據(jù)所述每個語義塊的坐標值和所述每個區(qū)域塊的坐標值,確定被抽中的區(qū)域塊所在的語義塊。
[0026]另一方面,本發(fā)明提供了一種網(wǎng)頁正文提取裝置,包括:
[0027]提取單元,用于提取待提取網(wǎng)頁的所有語義塊;
[0028]分割單元,用于將所述待提取網(wǎng)頁均勻分割成多個區(qū)域塊;
[0029]抽樣單元,用于對所有區(qū)域塊進行預設個數(shù)次隨機抽樣;
[0030]語義塊確定單元,用于確定被抽中的區(qū)域塊所在的語義塊;
[0031]計算單元,用于計算出每個語義塊的抽樣分布概率;
[0032]正文確定單元,用于確定抽樣分布概率大于等于預設概率的語義塊為網(wǎng)頁正文所在的語義塊。
[0033]進一步地,所述提取單元,包括:
[0034]建立子單元,用于對所述待提取網(wǎng)頁的HTML源碼建立文件對象模型DOM樹;
[0035]提取子單元,用于根據(jù)所述建立子單元建立的所述DOM樹獲得所述待提取網(wǎng)頁的所有語義塊。
[0036]進一步地,所述提取子單元,包括:
[0037]頁面塊提取子單元,用于對所述建立子單元建立的所述DOM樹進行頁面分塊,提取出所有的頁面塊,并對判斷子單元建立的所述DOM數(shù)進行頁面分塊,提取出所有頁面塊;
[0038]檢測子單元,用于根據(jù)所述頁面塊提取子單元提取出的所述頁面塊,檢測出頁面塊之間的所有分割條;
[0039]合并子單元,用于根據(jù)檢測子單元檢測出的所述分割條對所述頁面塊進行合并,得到合并后的頁面塊;
[0040]判斷子單元,用于獲取所述合并子單元得到的合并后的頁面塊的內(nèi)容相關(guān)度,判斷當前頁面塊的內(nèi)容相關(guān)度是否大于等于預設值,當判斷結(jié)果為是時,確定當前頁面塊為語義塊,當判斷結(jié)果為是時,建立當前頁面塊的DOM樹,通知所述頁面塊提取子單元。
[0041]進一步地,還包括:
[0042]糾錯子單元,用于對所述待提取網(wǎng)頁進行網(wǎng)頁糾錯,獲得DOM樹結(jié)構(gòu)完整的待提取網(wǎng)頁。
[0043]進一步地,還包括:記錄單元,用于記錄每個語義塊的坐標值和每個區(qū)域塊的坐標值;
[0044]所述語義塊確定單元,用于根據(jù)所述每個語義塊的坐標值和所述每個區(qū)域塊的坐標值,確定被抽中的區(qū)域塊所在的語義塊。
[0045]本發(fā)明提供了一種網(wǎng)頁正文提取方法及裝置,提取待提取網(wǎng)頁的所有語義塊,將所述待提取網(wǎng)頁均勻分割成多個區(qū)域塊,對區(qū)域塊進行隨機抽樣,確定被抽中的區(qū)域塊所在的語義塊,計算出每個語義塊的抽樣分布概率,通過每個語義塊的抽樣分布概率來表征每個語義塊的面積大小,當語義塊的抽樣分布概率大時,說明該語義塊的面積較大,該語義塊為網(wǎng)頁正文所在的語義塊的概率也大,當語義塊的抽樣分布概率大于等于預設概率時,則確定該語義塊為網(wǎng)頁正文所在的語義塊,這種方法只需進行簡單的隨機抽樣計算即可,無需對待提取網(wǎng)頁的DOM樹進行遍歷,能夠提高提取網(wǎng)頁正文的速度。
【附圖說明】
[0046]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0047]圖1是本發(fā)明一實施例提供的一種網(wǎng)頁正文提取方法的流程圖;
[0048]圖2是本發(fā)明一實施例提供的一種網(wǎng)頁正文提取裝置的示意圖。
【具體實施方式】
[0049]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例,基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0050]如圖1所示,本發(fā)明實施例提供了一種網(wǎng)頁正文提取方法,該方法可以包括以下步驟:
[0051]步驟101:提取待提取網(wǎng)頁的所有語義塊;
[0052]步驟102:將所述待提取網(wǎng)頁均勻分割成多個區(qū)域塊;
[0053]步驟103:對所有區(qū)域塊進行預設個數(shù)次隨機抽樣;
[0054]步驟104:確定被抽中的區(qū)域塊所在的語義塊;
[0055]步驟105:計算出每個語義塊的抽樣分布概率;
[0056]步驟106:確定抽樣分布概率大于等于預設概率的語義塊為網(wǎng)頁正文所在的語義塊。
[0057]通過本發(fā)明實施例提供的一種網(wǎng)頁正文提取方法,提取待提取網(wǎng)頁的所有語義塊,將所述待提取網(wǎng)頁均勻分割成多個區(qū)域塊,對區(qū)域塊進行隨機抽樣,確定被抽中的區(qū)域塊所在的語義塊,計算出每個語義塊的抽樣分布概率,通過每個語義塊的抽樣分布概率來表征每個語義塊的面積大小,當語義塊的抽樣分布概率大時,說明該語義塊的面積較大,該語義塊為網(wǎng)頁正文所在的語義塊的概率也大,當語義塊的抽樣分布概率大于等于預設概率時,則確定該語義塊為網(wǎng)頁正文所在的語義塊,這種方法只需進行簡單的隨機抽樣計算即可,無需對待提取網(wǎng)頁的DOM樹進行遍歷,能夠提高提取網(wǎng)頁正文的速度。
[0058]為了能夠更加準確的提取出待提取網(wǎng)頁的所有語義塊,所述提取待提取網(wǎng)頁的所有語義塊,包括:
[0059]S1:對所述待提取網(wǎng)頁的HTML源碼建立DOM樹;
[0060]S2:根據(jù)所述DOM樹獲得所述待提取網(wǎng)頁的所有語義塊。
[0061]在一種可能的實現(xiàn)方式中,所述S2,包括:
[0062]Sll:對所述DOM樹進行頁面分塊,提取出所有的頁面塊;
[0063]S12:根據(jù)所述頁面塊,檢測出頁面塊之間的所有分割條;
[0064]S13:根據(jù)所述分割條對所述頁面塊進行合并,得到合并后的頁面塊;
[0065]S14:獲取合并后的頁面塊的內(nèi)容相關(guān)度,判斷當前頁面塊的內(nèi)容相關(guān)度是否大于等于預設值,如果是,則確定當前頁面塊為語義塊,否則,建立當前頁面塊的DOM樹,返回步驟 Sllo
[0066]在該實現(xiàn)方式中,為了使得每個語義塊中內(nèi)容的相關(guān)性較高,需要保證每個輸出的語義塊的內(nèi)容相關(guān)度較高。在輸出語義塊之前對每個合并后的頁面塊進行內(nèi)容相關(guān)度的判斷,當頁面塊的內(nèi)容相關(guān)度大于等于預設值時,該頁面塊滿足要求,確定該頁面塊為語義塊;如果有合并后的頁面塊的內(nèi)容相關(guān)度小于預設值,則繼續(xù)對這類語義塊進行頁面分塊,直到所有的頁面塊的內(nèi)容相關(guān)度都大于等于預設值。另外,分割條包括橫向和縱向的分割條。
[0067]由于HTML在編寫過程中存在不規(guī)范現(xiàn)象,為了能夠獲得準確的DOM樹,需要對待提取網(wǎng)頁進行網(wǎng)頁糾錯,使待提取網(wǎng)頁規(guī)范。在所述Si之前,還包括:
[0068]對所述待提取網(wǎng)頁進行網(wǎng)頁糾錯,獲得DOM樹結(jié)構(gòu)完整的待提取網(wǎng)頁。
[0069]舉例來說,所述對所述待提取網(wǎng)頁進行網(wǎng)頁糾錯,包括:對所述待提取網(wǎng)頁進行HTML標簽補全、錯誤標簽去除、腳本、代碼注釋去除。
[0070]為了能夠準確的確定被抽中的區(qū)域塊所在的語義塊。該方法還包括:記錄每個語義塊的坐標值和每個區(qū)域塊的坐標值;
[0071]所述確定被抽中的區(qū)域塊所在的語義塊,包括:
[0072]根據(jù)所述每個語義塊的坐標值和所述每個區(qū)域塊的坐標值,確定被抽中的區(qū)域塊所在的語義塊。
[0073]舉例來說,待提取網(wǎng)頁對應的多個區(qū)域塊和語義塊均為矩形,每個區(qū)域塊和每個語義塊均可以通過一條對角線上的兩個頂點來確定。
[0074]另外,在步驟102中,可以根據(jù)預設的精確度將所述待提取網(wǎng)頁均勻分割成多個區(qū)域塊,從網(wǎng)頁的橫向和縱向?qū)λ龃崛【W(wǎng)頁進行分割。其中