什么是最好的Java HTML解析器?

6

假设我们必须使用Java,那么最灵活的HTML解析器是什么?它需要能够解析大量不同的HTML内容,并且只需要很少的代码来执行复杂的解析操作。

2个回答

11

我建议使用 Jsoup 进行此操作。它具有非常好的 API,支持类似于 jQuery 的 CSS 选择器和非冗长元素迭代。以 这个答案 为例,以下代码打印您自己的问题和所有回答者的姓名:

URL url = new URL("https://dev59.com/7E7Sa4cB1Zd3GeqP5q0k");
Document document = Jsoup.parse(url, 3000);

String question = document.select("#question .post-text").text();
System.out.println("Question: " + question);

Elements answerers = document.select("#answers .user-details a");
for (Element answerer : answerers) {
    System.out.println("Answerer: " + answerer.text());
}

另一种选择是XPath,但对于已经掌握了CSS选择器的Web开发人员来说,JSoup更有用。


2

最好的就是能够正确完成工作的。

有一个名为tagsoup的开源解析器,还有一个名为jTidy的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接