用于Java的HTML / XMLparsing器

什么HTMLparsing器具有以下function:

  • 快速
  • 线程安全
  • 可靠和无bug
  • 分析HTML和XML
  • 处理错误的HTML
  • 有一个DOM实现
  • 支持HTML4,JavaScript和CSS标签
  • 比较简单的,面向对象的API

你认为什么parsing器更好?

谢谢。

查看Web Harvest 。 它既是一个可以使用的库,也是一个数据提取工具,这听起来正是你想要做的。 您可以创buildXML脚本文件来指导刮板如何从中提取所需的信息。 提供的GUI对于快速testing脚本非常有用。

查看项目的示例页面 ,看看它是否适合你正在做的事情。

最有名的是NekoHTML和JTidy 。

NekoHTML基于Xerces,提供了一个简单的自适应SAXParser ,它实现了XMLReader JavaSE接口。

JTidy更加注重将你的html代码格式化成XML有效的东西,但是作为一个XMLparsing器仍然非常有用,如果需要的话,它会产生一个DOM树。

你可以看看这个列表中的其他select。

另一种select可能是通过jRuby使用hpricot 。

Validator.nu的HTMLparsing器 ,当然。 这是一个HTML5parsingalgorithm的实现,Gecko正在用它的C ++翻译replace它自己的HTMLparsing器。

Apache Tika是最好的select。 Apache最近从现有项目中提取了许多子项目并将其公诸于众。 Tika是之前的Apache Lucene组件之一。 由于Apache的支持和声誉以及广泛使用的父项目Lucene,它必定是一个非常好的select。 而且,它是开源的。

Apache Tika网站简介:

Apache Tika™工具包使用现有的parsing器库从各种文档中检测和提取元数据和结构化文本内容。

支持的格式是:

HyperText Markup Language XML and derived formats Microsoft Office document formats OpenDocument Format Portable Document Format Electronic Publication Format Rich Text Format Compression and packaging formats Text formats Audio formats Image formats Video formats Java class files and archives The mbox format 

好:

在java中没有太多好的HTMLparsing器,但是这里有一些替代方法: http : //java-source.net/open-source/html-parsers

他们很less支持Javascript。 其实,我想你必须自己动手使用Rhino( http://www.mozilla.org/rhino/ )。

我认为, HTML Cleaner是你在找什么。 看看它在TheServerSide上的公告 ,看看它如何比较JTidy,TagSoup,NekoHtml。

你可能想要看看像在无头模式下运行Mozilla。 这里有一个链接 ,让你开始,我相信你可以使用谷歌了解更多的信息。