首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >哪种HTML解析器是最好的?

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

Stack Overflow用户
提问于 2010-01-31 00:52:48
回答 3查看 193.6K关注 0票数 199

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

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

因为我80%的工作只涉及解析,所以我想使用一个轻量级的超文本标记语言解析器,因为在HtmlUnit中,首先加载一个页面,然后获取源代码,然后解析它需要花费很多时间。

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

编辑:

在最好的情况下,我希望至少有以下功能:

通过"id“、”HtmlElement“或"tag type”查找任何标签的

  1. Speed
  2. Ease。

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-01-31 15:41:16

Self plug:我刚刚发布了一个新的Java HTML解析器:jsoup。我在这里提到它,因为我认为它会做你想要的事情。

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

代码语言:javascript
复制
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。

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

票数 413
EN

Stack Overflow用户

发布于 2010-01-31 00:53:34

到目前为止,我见过的最好的是HtmlCleaner

HtmlCleaner是用Java语言编写的开源超文本标记语言解析器。在Web上发现的HTML通常是脏的、格式错误的,并且不适合进一步处理。对于这类文档的任何严重消耗,都必须首先清理乱七八糟的东西,并将顺序带到标签、属性和普通文本上。对于给定的超文本标记语言文档,HtmlCleaner对单个元素进行重新排序并生成格式良好的XML。默认情况下,它遵循大多数web浏览器用于创建文档对象模型的类似规则。然而,用户可以为标签过滤和平衡提供定制标签和规则集。

在HtmlCleaner中,您可以使用XPath定位任何元素。

有关其他html解析器,请参阅this SO question

票数 32
EN

Stack Overflow用户

发布于 2010-01-31 01:32:37

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2168610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档