jsoup api使用


前言

我们可以使用jsoup包来爬取一些网站上的信息,并对其进行处理


一、获取网页源码

依赖包:
import okhttp3.ConnectionPool;
import okhttp3.Dispatcher;
import okhttp3.OkHttpClient;
import okhttp3.Request;

private static final OkHttpClient OK_HTTP_CLIENT = new OkHttpClient
            .Builder()
            .connectTimeout(超时时间, TimeUnit.SECONDS)
            .dispatcher(线程调度策略)
            .connectionPool(new ConnectionPool(2, 1, TimeUnit.MINUTES))
            .build();
Request request = new Request.Builder().url(要获取的网页).build();
String s =OK_HTTP_CLIENT.newCall(request).execute().body().string();//s即为网页源码的字符串

二、获取元素

1.创建Document对象

Document document = Jsoup.parse(s);

2.通过DOM获取对象

Elements elements=getElementById(String id):通过id来获取
Elements elements=getElementsByTag(String tagName):通过标签名字来获取
Elements elements=getElementsByClass(String className):通过类名来获取
Elements elements=getElementsByAttribute(String key):通过属性名字来获取
Elements elements=getElementsByAttributeValue(String key, String value):通过指定的属性名字,属性值来获取
Elements elements=getAllElements():获取所有元素

3.通过select获取对象

传入一个类似于CSS或jQuery的选择器字符串来获取元素
例:
Elements elements = doc.select(“a”) :获取a标签的元素
Elements elements = doc.select(“a[href]”);获取含有href属性的a标签的元素

4.获取单个对象

Element element = 获取对象方式.first(): 获取满足条件的第一个对象
Element element = 获取对象方式.get(i): 获取满足条件的下标为i的元素

5.获取文本

◇Element.text():获得得一个元素中的文本。
◇Element.attr(String key):获得key属性的值

三、JSON和对象的互相转换

依赖包
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

1.对象转换成JSON字符串

String s=JSONObject.toJSONString(对象);

2.JSON字符串转化成单个对象

T obj = JSON.parse(JSON字符串, T.class);

3.JSON字符串转化成某个类的数组

List obj = JSON.parseArray(JSON字符串, T.class);


总结

本文收集了Jsoup的一些常用方法,可供初步学习Jsoup,如有进一步的疑问可在评论区回复,共同进步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值