【问题标题】:Any good Java HTML parsers?有什么好的 Java HTML 解析器吗?
【发布时间】:2010-12-20 20:07:56
【问题描述】:

到目前为止,我一直在使用 Cobra,因为它非常简单,但不幸的是,它在一些测试用例中遇到了一些问题。有人推荐一个久经考验的库吗?

我已经尝试过 Cobra 的内置一体机和 HTMLCleaner,但没有任何运气。

【问题讨论】:

  • 从您的最后一个问题来看,问题不在于“XPath 评估器”。您正在使用XPathFactory.newInstance(),它创建了可处理加载到DOM 模型中的任何XML 文档(作为Document 的实例)的普通Java 评估器。 CORBA 本身不是 XPath 评估器 - 它是一个生成 Document 的 HTML 解析器,在您的情况下它做错了。所以你真正想要的是一个“好的 Java HTML 解析器”,而不是“好的 Java XPath 评估器”。
  • 糟糕...抱歉。我已经修改了我的问题...我只是对眼前的所有 HTML 发疯了...
  • 我确定本周早些时候也有同样的问题......

标签: java html xpath


【解决方案1】:

看看Saxon(不,我与产品没有任何关系,只是一个满意的用户)。

【讨论】:

  • Saxon 是一个很棒的 XSLT 2.0 和 XQuery 实现,但它不解析 HTML。
  • @Pavel - 最初的问题没有提到 HTML
【解决方案2】:

Mozilla HTML Parser 看起来很有趣。根据定义,它应该与 Gecko 引擎本身一样好,这很可能满足您的需求。

【讨论】:

    【解决方案3】:

    TagSoup 在处理糟糕的 HTML/XHTML 时非常棒。

    Jericho(和NekoHTML)也可以解析无效的 HTML。

    TagSoup 和 Jericho:久经考验。 NekoHTML:来自可靠来源的反馈。

    【讨论】:

      【解决方案4】:

      [答题——整体题与cmets不一致]

      JTidy (http://jtidy.sourceforge.net/) 是 Dave Raggett 的 HTMLTidy 的一个端口。虽然我认为开发可能已经放缓/停止,但它非常有用。

      【讨论】:

        【解决方案5】:

        我建议Validator.nu's parser,基于 HTML5 解析算法。 (Mozilla 目前正在用这个替换它自己的 HTML 解析器。)

        【讨论】:

          猜你喜欢
          • 2011-03-08
          • 2023-03-22
          • 2023-03-03
          • 1970-01-01
          • 1970-01-01
          • 2011-04-12
          • 2010-10-03
          • 2011-07-08
          相关资源
          最近更新 更多