哪些HTML解析器具有以下功能:
您认为哪种解析器更好?
谢谢。
答案 0 :(得分:16)
结帐Web Harvest。它既是一个可以使用的库,也是一个数据提取工具,听起来就是你想要做的。您可以创建XML脚本文件,以指示scraper如何从中提取所需的信息。提供的GUI对于快速测试脚本非常有用。
查看project's samples page,了解它是否适合您的目标。
答案 1 :(得分:7)
NekoHTML基于Xerces,提供了一个简单的自适应SAXParser,它实现了XMLReader JavaSE接口。
JTidy更倾向于将你的html代码格式化为XML有效的东西,但作为XML解析器仍然非常有用,如果需要可以生成DOM树。
您可以查看this list其他替代方案。
另一种选择可能是通过jRuby使用hpricot。
答案 2 :(得分:5)
Validator.nu's HTML parser。它是HTML5解析算法的一个实现,Gecko正在用它的C ++转换替换它自己的HTML解析器。
答案 3 :(得分:5)
Apache Tika是最佳选择。 Apache最近从现有项目中提取了许多子项目并将其公之于众。 Tika是以前是Apache Lucene的一个组件之一。由于Apache的支持和声誉以及广泛使用的父项目Lucene,它必定是一个非常好的选择。此外,它是开源的。
Apache Tika网站简介:
Apache Tika™工具包使用现有的解析器库检测并从各种文档中提取元数据和结构化文本内容。
支持的格式为:
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
答案 4 :(得分:1)
嗯:
在java中没有那么多优秀的HTML解析器,但是这里有一些替代方案: http://java-source.net/open-source/html-parsers
他们中很少有人支持Javascript。实际上,我认为你必须使用Rhino(http://www.mozilla.org/rhino/)自己完成这部分。
答案 5 :(得分:1)
我认为HTML Cleaner正是您所寻找的。请参阅TheServerSide上的announcement,了解它与JTidy,TagSoup,NekoHtml的对比情况。
答案 6 :(得分:1)
你可能想看看像无头模式运行Mozilla这样的事情。这是一个link,可以帮助您入门,我相信您可以使用Google来了解更多信息。