Java中常用html解析器

http://blog.csdn.net/lubeijing2008xu/article/details/8019712

Java中常用html解析器

 541人閱讀 評論(0) 收藏 舉報

可能我們在項目中常用Dom解析html,但是以下介紹的解析器可能會讓你更簡單、容易去解析html。另外javaweb中常用的dom解析是dom4j, 它在web領域中地王道;android中我們常用的是sax、pull。因爲它們更省內存。因爲不需要將整個XML樹讀入內存後再進行處理,而是通過輸入流的方式進行,在這過程中會觸發相關事件........在這些事件回調中我們去做解析工作。


1、jsoup 是一款 Java 的HTML 解析器,可直接解析某個URL地址、HTML文本內容。它提供了一套非常省力的API,可通過DOM,CSS以及類似於JQuery的操作方法來取出和操作數據。據說它是基於MIT協議發佈的。

            在線文檔:http://www.osctools.net/apidocs/apidoc?api=jsoup-1.6.3http://jsoup.org/

jsoup的主要功能如下:

  1. 從一個URL,文件或字符串中解析HTML;
  2. 使用DOM或CSS選擇器來查找、取出數據;
  3. 可操作HTML元素、屬性、文本;


示例代碼:

Document doc = Jsoup.parse(input, "UTF-8", "http://www.dangdang.com");
Element content = doc.getElementById("content");
Elements links = content.getElementsByTag("a");
for (Element link : links) {
  String linkHref = link.attr("href");
  String linkText = link.text();
}


2、htmlparser是一個純的java寫的html解析的庫,它不依賴於其它的java庫文件,主要用於改造或提取html。它能超高速解析html,而且不會出錯。現在htmlparser最新版本爲2.0。 據說htmlparser就是目前最好的html解析和分析的工具。  無論你是想抓取網頁數據還是改造html的內容,用了htmlparser絕對會忍不住稱讚。

在線文檔: http://www.osctools.net/apidocs/apidoc?api=HTMLParserhttp://htmlparser.sourceforge.net/project-info.html

示例代碼:
Parser parser = new Parser ("http://www.dangdang.com");
NodeList list = parser.parse (null);
Node node = list.elementAt (0);
NodeList sublist = node.getChildren ();
System.out.println (sublist.size ());


當然,除了這兩個還有NekoHTML、JTidy、HtmlCleaner等等。另外在C++中的有htmlcxx。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章