java使用Jsoup简单爬虫
程序员文章站
2022-06-28 16:22:27
Jsoup简介jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。官网:https://jsoup.org/主要功能从一个URL,文件或字符串中解析HTML使用DOM或CSS选择器来查找、取出数据使用DOM或CSS选择器来查找、取出数据可操作HTML元素、属性、文本可操作HTML元素、属性、文本注意:jsoup是基于MIT协议发布的,可放心使用于商业项目。M...
Jsoup简介
jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。官网:https://jsoup.org/
主要功能
从一个URL,文件或字符串中解析HTML
使用DOM或CSS选择器来查找、取出数据使用DOM或CSS选择器来查找、取出数据
可操作HTML元素、属性、文本可操作HTML元素、属性、文本
注意:jsoup是基于MIT协议发布的,可放心使用于商业项目。
Maven依赖关系
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.11.3</version>
</dependency>
简单使用
代码例子
public static void main(String[] args) throws IOException {
//从URL加载HTML
Document document = Jsoup.connect("http://www.sbfl.cn/").get();
String title = document.title();
String data = document.data();
//通过选择器 选择class=main的组件
Elements elements = document.select(".main");
//处理结果,获得文本内容
for(int i=2;i<elements.size();i++){
Element element = elements.get(i);
Elements cateElement = element.select(".lbjs");
String cate = cateElement.text();
int start = cate.indexOf("【");
int end = cate.indexOf("】");
String cateName = cate.substring(start+1,end);//分类名称
String cateInstructions = cate.substring(end+1);//分类简介
System.out.println("分类名称:"+cateName);
System.out.println("分类简介:"+cateInstructions);
Elements groupElement = element.select(".left");
Element groupStart = groupElement.get(0);
Node node = groupStart.childNode(0);
String cateNumStr = node.toString().trim();
String cateNum = cateNumStr.substring(1,3);
System.out.println(">>>>>:"+cateNum);
String groups = groupElement.text();
String[] groupArr = groups.split("【");
Arrays.stream(groupArr).forEach(it->{
if(StringUtils.isNotBlank(it)){
String[] str = it.split("组】");
String group = str[0]; //类似群组
String introduction = str[1]; //简介
System.out.println("类似群组 :"+group);
System.out.println("简介 :"+introduction);
}
});
}
//获取html中的标题
System.out.println("title :"+title);
System.out.println("data :"+title);
}
结果
本文地址:https://blog.csdn.net/weixin_44263023/article/details/112021705