2010年7月18日 星期日

使用 Neko HtmlParser 產生 Html DOM

這次專題所選用的 HtmlParser 是採用有點歷史的 Neko HtmlParser + xerces ,其中 Neko 作者本身是 IBM 的 xerces 團隊的主力開發者,對 DOM 解析領域相當精深,再加上 Neko HtmlParser 具有不錯的 Html 標籤解析與清理效果。雖然我在最近一個禮拜尋找與測試其他的解析器,例如最多人使用的 HtmlParser 以及較為冷門的 Cobra HtmlParser ,但仔細比較之後,還是 Neko HtmlParser 較為好用。

使用 Neko HtmlParser 前,必須先到 Neko 官方網站下載套件,下載後除了將資料夾外的 jar 載入至 Java 內,還要在 lib 資料夾內,將最新版 xerces 資料夾內 jar 一併載入至 Java 內,以下程式碼方可正常運作。

import org.cyberneko.html.parsers.DOMParser;
//Neko HtmlParser套件
public class html{
     Document document;
     DOMParser parser; //解析器
     public html(){
          parser = new DOMParser();
     }

     public void loadURL(String URL){   // URL 為網站網址
          try {
               parser.parse(URL);  //匯入解析器並產生 DOM
               document=parser.getDocument(); //取得 Document
           ......
     }
     ......
}

雖然產生 DOM ,但實際操作發現, 利用 document.getDocumentElement(); 取得根元素會發生錯誤,但若是使用 document.getElementsByTagName(根元素).item(0); 就能正常取得根元素了。

參考資料:

沒有留言:

張貼留言