假设我们必须使用java,什么是最好的html解析器,它可以灵活地解析许多不同的html内容,并且也不需要很多代码来执行复杂类型的解析?
答案 0 :(得分:10)
我会为此推荐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开发人员更有用。
答案 1 :(得分:1)