一尘不染

Java哪种HTML解析器是最好的?

java

编写了很多解析器。到目前为止,我一直使用HtmlUnit无头浏览器进行解析和浏览器自动化。

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

由于我80%的工作仅涉及解析,因此我想使用简单的HTML解析器,因为在HtmlUnit中花很多时间才能首先加载页面,然后获取源然后解析它。

我想知道哪个HTML解析器是最好的。如果解析器与HtmlUnit解析器接近,则解析器会更好。

编辑:

最好的情况是,我至少需要以下功能:

1.速度
2.易于通过其“ id”或“ name”或“ tag type”定位任何HtmlElement。

如果不清除脏HTML代码,对我来说可以。我不需要清理任何HTML源。我只需要一种最简单的方法即可在HtmlElements之间移动并从中获取数据。


阅读 565

收藏
2020-02-29

共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();

有关更多信息,请参见Selector javadoc。

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

2020-02-29