小编典典

如何使用 Java 有效地解析 HTML?

all

我在我的工作中做了很多 HTML 解析。到目前为止,我一直在使用 HtmlUnit 无头浏览器进行解析和浏览器自动化。

现在,我想将这两个任务分开。

我想使用一个轻量级的 HTML 解析器,因为在 HtmlUnit 中首先加载页面需要很长时间,然后获取源代码然后解析它。

我想知道哪个 HTML 解析器可以有效地解析 HTML。我需要

  1. 速度
  2. 通过其“id”或“名称”或“标签类型”轻松定位任何 HtmlElement。

如果它不清理脏的 HTML 代码,对我来说没问题。我不需要清理任何 HTML 源代码。我只需要一种最简单的方法来移动 HtmlElements
并从中收集数据。


阅读 125

收藏
2022-07-01

共1个答案

小编典典

自插:我刚刚发布了一个新的 Java HTML 解析器:jsoup。我在这里提到它是因为我认为它会做你所追求的。

它的派对技巧是使用 CSS 选择器语法来查找元素,例如:

String html = "<html><head><title>First parse</title></head>"
  + "<body><p>Parsed HTML into a doc.</p></body></html>";
Document doc = Jsoup.parse(html);
Elements links = doc.select("a");
Element head = doc.select("head").first();

有关详细信息,请参阅选择器javadoc。

这是一个新项目,因此非常欢迎任何改进的想法!

2022-07-01