Java中常用html解析器

  • Post author:
  • Post category:java


可能我们在项目中常用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的主要功能如下:

  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=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。



版权声明:本文为lubeijing2008xu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。