結構,提供在數據結構樹中找尋節點的能力。例 如,步驟SlOl中,可以利用XPATH技術,選擇相同網站或者相同頁面結構、顯示風格的目標 頁面進行分析,構建一棵頁面標記樹,保留其中有用信息的那部分標記子樹,拋棄其它標記 子樹,從而達到快速獲取網頁頁面主要內容的目的。如圖3所示,主體區域是用戶關注的主 要區域,輔助區域包括單位標識區域、導航信息區域、交互信息區域和版權聲明區域等,在 一些網頁中,版權聲明區域也可能位于主體區域內。在網頁的XML樹狀結構中,每個XPATH 節點可以對應于網頁頁面中的一個矩形區域,一個網頁頁面可以分成多個矩形區域,每個 矩形區域里面還可以再劃分成多個子區域,依次類推。最后根據這些區域里面內容的多少, 如文字數目的多少,進行對比,在XML樹狀結構中采用自下而上的方式計算出所有節點的 文字數目,通過對比各個區域的文字內容的多少,選擇內容最多的一個作為主體區域,圖6 就是一個示例性的主體區域的示意圖。
[0057] S102、將所述XPATH標記樹中的XPATH節點與CSS標簽進行對應,并根據CSS標簽 內容的相似度將所述CSS標簽進行分組。
[0058] S103、若所述XPATH標記樹中各個XPATH節點的CSS標簽均屬于同一分組,且所述 各個XPATH節點的CSS標簽屬于同一父標簽下的子標簽,則提取所述XPATH標記樹中各個 XPATH節點對應的數據作為正文內容。
[0059] 本發明實施例提供的提取結構化數據的方法,通過將XPATH標記樹和CSS標簽相 結合,構建網頁頁面標記樹,能更好更準確地識別網頁頁面正文內容,提高網頁結構化解析 的能力,結構化解析后的結果數據更加精準。
[0060] 請參見圖2,是本發明第二實施例提供的提取結構化數據的方法的流程圖,該方法 包括:
[0061] S201、解析網頁,獲取所述網頁的XPATH節點。
[0062] S202、根據所述XPATH節點的屬性對所述XPATH節點進行過濾,獲取體現網頁結 構布局的XPATH節點。在網頁的XML樹狀結構中,根節點〈root〉下可以劃分為多層次的 XPATH節點,這些XPATH節點可以用節點標記來表示,例如節點標記<img>、<br>、〈table〉、 <div>、<tr>、<td>、<ul>、<li>等。不同的節點標記代表了不同的節點屬性,例如節點標記 <img>屬于圖片標記,節點標記〈table〉屬于容器標記,節點標記<tr>和<td>屬于內部嵌 套標記等,因此可以根據節點標記來對XPATH節點進行粗略過濾。具體地,步驟S202可以包 括:濾除對標記樹結構不會構成影響的XPATH節點;保留體現網頁結構布局的XPATH節點。 例如,可以濾除對目標頁面的標記樹結構不會構成影響的節點標記諸如<img>、<br>等,留 下體現頁面結構布局的節點標記諸如容器標記<table>、〈div>及其內部嵌套的<tr>、〈td> 和<ul>、〈li>等。通過對XPATH節點進行粗略過濾,可以減輕后續精細過濾操作的負擔,從 而縮短操作時間,提高操作效率。
[0063] S203、將所述體現網頁結構布局的XPATH節點劃分為用于表示主體區域的XPATH 節點和用于表示輔助區域的XPATH節點,提取用于表示所述主體區域的XPATH節點構建 XPATH標記樹。圖7就是一個示例性的用于表示主體區域的XPATH標記樹的示意圖,在該 XPATH標記樹中,主要包含一些容器標記及其內部嵌套標記。在對XPATH節點進行劃分時, 可以利用自動或半自動方法、采用自下而上的方式計算出每個XPATH節點所對應的網頁區 域的文字數目,選擇文字數目最多的上級XPATH節點及其下級節點作為主體區域的XPATH 節點。
[0064] S204、將所述XPATH標記樹中的XPATH節點與CSS標簽進行對應,并根據CSS標簽 內容的相似度將所述CSS標簽進行分組。如圖7所示,可以在XPATH標記樹中的節點標記下 分別標注其對應的CSS標簽名稱,構成CSS標簽樹,例如,在圖7所示的節點1-節點35中, 節點3、4、……、8具有相同的CSS標簽g",節點10、13、16具有相同的CSS標簽g. r"。 在CSS標簽樹中,上下級標簽節點可能具有父子關系,例如,節點10是節點4的子節點,或 者說節點4是節點10的父節點。通常來說,子節點可以繼承父節點的CSS標簽內容。
[0065] 具體地,CSS標簽通常為以下形式:
[0066]
【主權項】
1. 一種提取結構化數據的方法,其特征在于,包括: 將網頁劃分為主體區域和輔助區域,構建用于表示所述主體區域的XPATH標記樹; 將所述XPATH標記樹中的XPATH節點與CSS標簽進行對應,并根據CSS標簽內容的相 似度將所述CSS標簽進行分組; 若所述XPATH標記樹中各個XPATH節點的CSS標簽均屬于同一分組,且所述各個XPATH 節點的CSS標簽是屬于同一父標簽下的子標簽,則提取所述XPATH標記樹中各個XPATH節 點對應的數據作為正文內容。
2. 如權利要求1所述的提取結構化數據的方法,其特征在于,所述將網頁劃分為主體 區域和輔助區域,構建用于表示所述主體區域的XPATH標記樹的步驟包括: 解析網頁,獲取所述網頁的XPATH節點; 根據所述XPATH節點的屬性對所述XPATH節點進行過濾,獲取體現網頁結構布局的 XPATH節點; 將所述體現網頁結構布局的XPATH節點劃分為用于表示主體區域的XPATH節點和用于 表示輔助區域的XPATH節點,提取用于表示所述主體區域的XPATH節點構建XPATH標記樹。
3. 如權利要求1所述的提取結構化數據的方法,其特征在于,所述根據CSS標簽內容的 相似度將所述CSS標簽進行分組的步驟包括: 提取所述CSS標簽內容中的特征屬性,所述特征屬性包括字體大小、顏色和/或行間 距; 將所述特征屬性一致的CSS標簽作為一個分組。
4. 如權利要求1所述的提取結構化數據的方法,其特征在于,所述方法還包括: 若所述XPATH標記樹中各個XPATH節點的CSS標簽不屬于同一分組,或所述各個XPATH 節點的CSS標簽不是屬于同一父標簽下的子標簽,則選擇CSS標簽數量最多的分組作為最 優分組,提取所述最優分組中的CSS標簽所對應的XPATH節點下的數據作為正文內容。
5. 如權利要求1所述的提取結構化數據的方法,其特征在于,所述方法還包括: 若所述XPATH標記樹中各個XPATH節點的CSS標簽不屬于同一分組,或所述各個XPATH 節點的CSS標簽不是屬于同一父標簽下的子標簽,則統計各個分組中的CSS標簽的數量,易U 除數量最少的一組CSS標簽對應的XPATH節點,提取所述XPATH標記樹中剩余XPATH節點 對應的數據作為正文內容。
6. -種提取結構化數據的裝置,其特征在于,包括: 主體區域提取模塊,用于將網頁劃分為主體區域和輔助區域,構建用于表示所述主體 區域的XPATH標記樹; CSS標簽對應模塊,用于將所述XPATH標記樹中的XPATH節點與CSS標簽進行對應; CSS標簽分組模塊,用于根據CSS標簽內容的相似度將所述CSS標簽進行分組; 正文提取模塊,用于若所述XPATH標記樹中各個XPATH節點的CSS標簽均屬于同一分 組,且所述各個XPATH節點的CSS標簽是屬于同一父標簽下的子標簽,則提取所述XPATH標 記樹中各個XPATH節點對應的數據作為正文內容。
7. 如權利要求6所述的提取結構化數據的裝置,其特征在于,所述主體區域提取模塊 包括: 網頁解析模塊,用于解析網頁,獲取所述網頁的XPATH節點; 粗略過濾模塊,用于根據所述XPATH節點的屬性對所述XPATH節點進行過濾,獲取體現 網頁結構布局的XPATH節點; XPATH標記樹構建模塊,用于將所述體現網頁結構布局的XPATH節點劃分為用于表示 主體區域的XPATH節點和用于表示輔助區域的XPATH節點,提取用于表示所述主體區域的 XPATH節點構建XPATH標記樹。
8. 如權利要求6所述的提取結構化數據的裝置,其特征在于,所述CSS標簽分組模塊包 括: 特征屬性提取模塊,用于提取所述CSS標簽內容中的特征屬性,所述特征屬性包括字 體大小、顏色和/或行間距; 特征屬性對比模塊,用于將所述特征屬性一致的CSS標簽作為一個分組。
9. 如權利要求6所述的提取結構化數據的裝置,其特征在于,所述裝置還包括: 第一優化模塊,用于若所述XPATH標記樹中各個XPATH節點的CSS標簽不屬于同一分 組,或所述各個XPATH節點的CSS標簽不是屬于同一父標簽下的子標簽,則選擇CSS標簽數 量最多的分組作為最優分組,提取所述最優分組中的CSS標簽所對應的XPATH節點下的數 據作為正文內容。
10. 如權利要求6所述的提取結構化數據的裝置,其特征在于,所述裝置還包括: 第二優化模塊,用于若所述XPATH標記樹中各個XPATH節點的CSS標簽不屬于同一分 組,或所述各個XPATH節點的CSS標簽不是屬于同一父標簽下的子標簽,則統計各個分組中 的CSS標簽的數量,剔除數量最少的一組CSS標簽對應的XPATH節點,提取所述XPATH標記 樹中剩余XPATH節點對應的數據作為正文內容。
【專利摘要】本發明實施例公開了一種提取結構化數據的方法及裝置,該方法包括:將網頁劃分為主體區域和輔助區域,構建用于表示所述主體區域的XPATH標記樹;將所述XPATH標記樹中的XPATH節點與CSS標簽進行對應,并根據CSS標簽內容的相似度將所述CSS標簽進行分組;若所述XPATH標記樹中各個XPATH節點的CSS標簽均屬于同一分組,且所述各個XPATH節點的CSS標簽是屬于同一父標簽下的子標簽,則提取所述XPATH標記樹中各個XPATH節點對應的數據作為正文內容。
【IPC分類】G06F17-30
【公開號】CN104598462
【申請號】CN201310529428
【發明人】歐陽科, 杜建欣, 齊彥申
【申請人】深圳市國信互聯科技有限公司
【公開日】2015年5月6日
【申請日】2013年10月30日