简介:
jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。本文主要介绍如何使用 jsoup 来进行常用的 HTML 解析。
准备工作:
下载jsoup.jar包:https://jsoup.org/download
代码:
Document document = Jsoup.connect(url).post();
获取整个网站的根节点,也就是html开头部分一直到结束
Elements content=document.getElementsByClass("content");
获取class为content的节点
Elements h = content.select("h2");
在上一节点下获取所有h2标签
for(int j=0;j<h.size();j++){
String tit=h.get(j).text();
//System.out.println(tit);
String s = h.get(j).select("a").attr("href");
System.out.println(s);
String a=Pa(s);
}
循环获取h2中的所有a标签文字及地址
上代码
public class Test {
private static final String url = "https://cuiqingcai.com/category/technique/java";
public static void main(String[] args) throws Exception {
try {
//获取整个网站的根节点,也就是html开头部分一直到结束
Document document = Jsoup.connect(url).post();
//System.out.println(document);
Elements content=document.getElementsByClass("content");
//System.out.println(content);
Elements h = content.select("h2");
for(int j=0;j<h.size();j++){
String tit=h.get(j).text();
//System.out.println(text);
String s = h.get(j).select("a").attr("href");
System.out.println(s);
String a=Pa(s);
}
} catch (IOException e) {
// cTODO Auto-generated catch block
e.printStackTrace();
}
}
public static String Pa(String url){
String a = null;
try {
Document document = Jsoup.connect(url).post();
//System.out.println(document);
a=document.toString();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(a);
return a;
}
}
结果图: