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