百度百科的介绍
jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据
首先引入maven
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.10.2</version>
</dependency>
java代码
String url = "https://top.baidu.com/buzz?b=1&fr=topindex";
//JSOUP获取连接
Connection conn = Jsoup.connect(url).timeout(5000);
//设置请求头
conn.header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
conn.header("Accept-Encoding", "gzip, deflate, sdch");
conn.header("Accept-Language", "zh-CN,zh;q=0.8");
conn.header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36");
//从url中获取流并解析为Document对象
Document doc = Jsoup.parse(new URL(url).openStream(), "GBK", url);
//System.out.println(doc.toString());
Elements elements = doc.getElementsByTag("tr");
//遍历内容
for (Element el : elements) {
//根据class名获取DOM
el.getElementsByClass("className");
//获取所有a标签
el.getElementsByTag("a");
}
}
需要注意的是要设置为GBK编码格式,不然会有一些字符无法识别
还有很多方法可以参考官方文档
https://www.open-open.com/jsoup/
原文地址:jsoup使用 java解析html