我想使用一个 html 解析器,它以一种很好、优雅的方式执行以下操作
- 提取文本(这是最重要的)
- 提取链接、元关键字
- 重建原始文档(可选但不错的功能)
从我目前的调查来看,jericho似乎很合适。你们会推荐其他任何开源库吗?
我最近尝试了 HtmlCleaner 和 CyberNekoHtml。CyberNekoHtml 是一个 DOM/SAX 解析器,可以产生可预测的结果。HtmlCleaner 稍微快一点,但通常无法产生准确的结果。
我会推荐 CyberNekoHtml。CyberNekoHtml 可以做你提到的所有事情。例如,提取所有元素及其属性的列表非常容易。如果您想重建页面,则可以遍历将每个元素构建回 HTML 的 DOM 树。
这里有一个开源 java html 解析器列表:http: //java-source.net/open-source/html-parsers
我最终使用 HtmlCleaner http://htmlcleaner.sourceforge.net/来做类似的事情。它非常易于使用,并且可以快速满足我的需求。