Java中常用html解析器

來源:互聯網
上載者:User

可能我們在項目中常用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.3;http://jsoup.org/

jsoup的主要功能如下: 從一個URL,檔案或字串中解析HTML; 使用DOM或CSS選取器來尋找、取出資料; 可操作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=HTMLParser; http://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。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.