提取正文內容的Java類庫:BoilerPipe

jopen 10年前發布 | 90K 次閱讀 HTML操作類庫 BoilerPipe

BoilerPipe是一個開源java類庫,能從html中剔除廣告和其他附加信息,提取出目標信息,如正文內容。可以通過配置不同的extractor來extract目標內容。

其算法的基本思想是通過訓練獲得一個分類器來提取出我們需要的信息(如正文、發布時間等)。下面以正文提取為例說明其工作原理。

首先來看下Boilerpipe的包結構:

提取正文內容的Java類庫:BoilerPipe

boilerpipe,根目錄

document,文檔包,定義了boilerpipe所處理文檔數據類型,主要包括TextDocument和TextBlock。一個TextDocument即一個網頁,由多個TextBlock構成。

lables,標簽,每個TextBlock都有一個lable字段,表示該TextBlock的屬性(如是不是正文)。

filters,過濾器,定義了多個過濾器,過濾器的作用即對TextBlock進行過濾,使用機器學習、統計、啟發式方法等數據挖掘算法判斷哪些TextBlock是所需要的(正文段),給TextBlock加上lable,去除無關的TextBlock。

sax,SAX解析器,定義了從各種來源獲取并解析網頁的方法。

extractors,提取器,提取流程的入口。每個extractor都定義了自己的提取方法,通過調用不同的filter達到不同的處理效果。

conditions,條件判斷,判斷一個TextBlock是否滿足特定的條件。

estimators,評估器,評估一個extractor對特定document的提取效果。

調用關系圖示: 

提取正文內容的Java類庫:BoilerPipe


 

項目主頁:http://www.baiduhome.net/lib/view/home/1403573213920

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!