我在我的工作中做了很多 HTML 解析。到目前为止,我一直在使用 HtmlUnit 无头浏览器进行解析和浏览器自动化。
现在,我想将这两个任务分开。
我想使用一个轻量级的 HTML 解析器,因为在 HtmlUnit 中首先加载页面需要很长时间,然后获取源代码然后解析它。
我想知道哪个 HTML 解析器可以有效地解析 HTML。我需要
如果它不清理脏的 HTML 代码,对我来说没问题。我不需要清理任何 HTML 源代码。我只需要一种最简单的方法来移动 HtmlElements 并从中收集数据。
自插:我刚刚发布了一个新的 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。
这是一个新项目,因此非常欢迎任何改进的想法!