4

我需要解析一个带有简单表单的简单 HTML 页面。StackOverflow 上类似问题的答案建议使用大量非标准 Java 库之一,例如 TagSoup、JSoup、HTMLParser 和许多其他库。

然而,网络搜索显示,Java SE 通过这个类存在一些标准功能:http: //docs.oracle.com/javase/7/docs/api/javax/swing/text/html/parser/ParserDelegator.html

我的子问题是:

  1. 标准 ParserDelegator 类真的可以解析像我这样的用例吗?
  2. 标准库的局限性是什么导致了对这么多非标准库的需求?
  3. ParserDelegator 在 Swing 中的事实是否会排除在常规 EC2 云服务器中用于 Web 应用程序的情况?我是否必须跳过很多圈才能绕过无头方面,或者这只是对配置的一个小调整?
  4. 如果不推荐标准的,我应该使用哪个非标准的,考虑到:(a)我希望不偏离标准;(b) 我的简单用例;(c) 渴望成熟可靠的实施;(d) 没有尺寸或重量限制,因为这是一个服务器应用程序,而不是嵌入式客户端。API 的优先级要低得多,所以虽然我很欣赏 JSoup 的 CSS 选择器(如 API),但其他问题 (a) 到 (d) 会覆盖它。

谢谢你。

4

1 回答 1

4

JDK 内置了支持 HTML 1.0 左右的 HTML 解析器。它应该支持解析基本文本格式标记和表单。

使用其他第三方解析器的原因是需要支持“真实”HTML 页面 DHTML、JavaScript 等。

JSoup 是可以完成这项工作的流行解析器之一。有关其他实现的更多信息,请查看以下讨论:

用于可滚动窗格的纯 Java HTML 查看器/渲染器

于 2012-01-31T07:24:22.930 回答