一尘不染

哪种 HTML 解析器是最好的?

javascript

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

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

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

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

编辑:

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

速度
易于通过其“ id”或“ name”或“ tag type”定位任何HtmlElement。
如果不清除脏HTML代码,对我来说可以。我不需要清理任何HTML源。我只需要一种最简单的方法即可在HtmlElements之间移动并从中获取数据。


阅读 337

收藏
2020-09-25

共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-09-25