【发布时间】:2011-03-08 11:03:21
【问题描述】:
假设我们必须使用 java,什么是最好的 html 解析器,它可以灵活地解析大量不同的 html 内容,并且不需要大量代码来进行复杂类型的解析?
【问题讨论】:
假设我们必须使用 java,什么是最好的 html 解析器,它可以灵活地解析大量不同的 html 内容,并且不需要大量代码来进行复杂类型的解析?
【问题讨论】:
我会为此推荐Jsoup。它有一个非常好的 API,支持jQuery like CSS selectors and non-verbose element iteration。以this answer 的副本为例,它会在此处打印您自己的问题和所有回答者的姓名:
URL url = new URL("https://stackoverflow.com/questions/3121136");
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,但 JSoup 对于已经很好地掌握 CSS 选择器的 Web 开发人员来说更有用。
【讨论】: