程倩楠,譚龍,李浩飛
山東師范大學
面向BIU的網(wǎng)頁解析
程倩楠,譚龍,李浩飛
山東師范大學
隨著大數(shù)據(jù)時代的到來,互聯(lián)網(wǎng)已經成為人們最大的信息來源之一,對于網(wǎng)頁處理多采用結構化方法?,F(xiàn)有的面向結點的網(wǎng)頁解析方法分割粒度過小,容易割裂文字的語義相關性;而基于分塊的網(wǎng)頁解析器無法過濾文字內部的噪音信息。針對以上兩種傳統(tǒng)結構化方法的不足,我們提出了一種面向基本信息單元(Basic Information unit)的網(wǎng)頁解析方法。本文給出了BIU的定義,利用改進后的DOM解析工具生成了網(wǎng)頁DOM樹,通過剪枝和BIU識別等操作步驟,最終得到了以基本信息單元為粒度的網(wǎng)頁結構,適合用于網(wǎng)頁內容的提取。
結構化;基本信息單元;BIU;解析粒度;DOM解析工具
互聯(lián)網(wǎng)上蘊含的海量信息,成為人們重要的數(shù)據(jù)來源。非結構化的網(wǎng)頁處理方法無法充分利用頁面特征提取頁面信息,而面向DOM結點與面向分塊的結構化方法解析粒度的劃分也存在不合理性。下面我們介紹一種以基本信息單元為分割粒度的網(wǎng)頁解析方法。
通過分析HTML的內容及結構,我們發(fā)現(xiàn),網(wǎng)頁的行與段內部可能包含多個DOM結點,但構成了一個完整的句子,其中的文本信息語義連續(xù),具有較好的信息關聯(lián)性,適合作為網(wǎng)頁解析粒度。為此我們定義如下:
定義1:在HTML中,被換行符分隔的連續(xù)文本稱為一個網(wǎng)頁的基本信息單元(Basic Information Unit),簡記為BIU。
HTML中的換行符分為顯示與隱式兩種,顯示的換行符標簽為<br>,隱式的換行符標簽包括布局標簽<head><body><div><ta?ble>等,以及文本標簽<h1><h2><p>等。
2.1 改進傳統(tǒng)DOM解析工具
DOM樹是HTML網(wǎng)頁的結構化表示形式,也是網(wǎng)頁在內存中的組織形式,它以層次結構將網(wǎng)頁信息片段作為結點組織起來。一般通過對HTML文檔進行詞法分析和語法分析實現(xiàn)網(wǎng)頁DOM解析。由于互聯(lián)網(wǎng)上存在著大量不符合HTML語法規(guī)范的網(wǎng)頁,目前,一些DOM解析器也具備較好的容錯性,如CTidy軟件,能夠自動識別HTML中的不規(guī)范之處,并發(fā)出警告,進行自動修正。
為了提高網(wǎng)頁解析的效率與準確性,本文對CTidy軟件做了如下部分改進:
(1)改變網(wǎng)頁解析的輸入方式,由HTML文檔輸入變?yōu)樽址斎搿?/p>
(2)跳過無法解析的錯誤網(wǎng)頁,繼續(xù)下面的網(wǎng)頁解析工作,而不是進行報錯終止,保證運行的連貫性。
(3)刪除script標簽下的腳本文字,只留下網(wǎng)頁可顯示的信息。
(4)去除對部分轉義字符的解析。
2.2 基本信息單元的識別
在以上DOM解析的基礎上,我們進行基本信息單元的識別工作。由于HTML結構具有靈活性,所以對基本信息單元的識別也存在一定的挑戰(zhàn)性。我們必須清楚并不是所有的HTML換行標簽都能作為分割基本信息單元的邊界,因此BIU識別的主要任務就是尋找有效的換行符。
本文將DOM樹的剪枝與BIU的識別相結合,通過以下四個步驟,實現(xiàn)面向BIU的網(wǎng)頁解析,圖1演示了這個過程。
(1)DOM樹剪枝
規(guī)則一:若葉結點不含文字內容,則刪除此結點,旨在過濾掉網(wǎng)頁中的非文本噪音結點,對應圖1中的(1)a。
規(guī)則二:若葉結點的父節(jié)點不存在兄弟結點,則用當前頁葉結點代替其父節(jié)點,旨在消除無效換行符,對應圖1中的(1)b。
(2)識別BIU
進行以上剪枝后,再為各文本結點尋找對應的換行符結點,即在DOM樹中尋找距離文本結點最近的換行結點。若有文本結點對應相同的換行符結點,則這些文本結點屬于同一個基本信息單元。如圖1中(2)所示,其中包含三個換行符結點,對應于三個基本信息單元。
(3)合并文本結點
將屬于同一BIU的文本結點合并,此時DOM中又會出現(xiàn)非文本結點。對應圖1中(3)。
(4)再次剪枝
為了消除新出現(xiàn)的非文本噪音結點,按步驟1對DOM樹再次剪枝。
最終實現(xiàn)樹中的每個葉結點均為一個基本信息單元,對應圖1中(4)。
經過上述步驟,我們將網(wǎng)頁分割為基本信息單元的集合,克服了DOM結點過于瑣碎的缺點,便于網(wǎng)頁正文的提取和網(wǎng)頁信息的抽取。
本文針對傳統(tǒng)基于DOM結點和網(wǎng)頁塊進行HTML解析的缺點,提出一種適用于內容提取的網(wǎng)頁信息單元組織結構。首先,我們對傳統(tǒng)的DOM解析器進行改進,增強DOM解析的效率和準確性。其次,對生成DOM樹同時進行剪枝和BIU的識別操作,最終得到以基本信息單元為粒度的網(wǎng)頁結構?;拘畔卧膬热菥哂休^強的語義關聯(lián)性,便于網(wǎng)頁正文提取及信息抽取等后續(xù)操作。
[1]于滿全,陳鐵睿,徐洪波.基于分塊的網(wǎng)頁信息解析器的研究與設計.計算機應用.2005
[2]王璟琦.基于內容單元的網(wǎng)頁解析與內容提取[D].黑龍江:哈爾濱工業(yè)大學,2008.12.1
程倩楠(1997-),女,漢族,山東泰安人,本科,山東師范大學信息科學與工程學院,研究方向:計算機信息技術。