java jsoup 爬虫_用Java优雅爬虫——jsoup

一、目录jsoup概述使用场景DOM解析CSS选择器HTML过滤逻辑分析总结二、jsoup概述官方解释:jsoup是一个用于处理真实HTML的Java库。它提供了一个非常方便的API,用于提取和操作数据,使用最好的DOM,CSS和类似jquery的方法。个人接触到jsoup是在用java写爬虫时,苦恼于大量使用正则匹配不仅降低了代码的可读性,相对也比较费时费力。这时候,一款爬虫框架突然引入眼帘,那...
摘要由CSDN通过智能技术生成

一、目录jsoup概述

使用场景

DOM解析

CSS选择器

HTML过滤

逻辑分析

总结

二、jsoup概述

官方解释:

jsoup是一个用于处理真实HTML的Java库。它提供了一个非常方便的API,用于提取和操作数据,使用最好的DOM,CSS和类似jquery的方法。

个人接触到jsoup是在用java写爬虫时,苦恼于大量使用正则匹配不仅降低了代码的可读性,相对也比较费时费力。这时候,一款爬虫框架突然引入眼帘,那就是jsoup。作为一款轻量,功能强大的爬虫框架,jsoup让简单抓取网页信息变得优雅,便捷。

虽然是一个java库,但是它的使用逻辑却无比接近于jQuery,以至于只要是熟悉或是了解jQuery的人可以轻而易举地上手这款框架。

三、使用场景

DOM解析

jsoup的dom解析异常简单吗,只需要new一个ducumnet对象即可实现获取这个网页元素,接下来以解析一个网页为例。可以看到,将网页转化成ducument类,之后的Element类以及其子类都可以看成是一个个节点,通过调用相关方法实现整个文件节点的遍历。同时,Element类的getElementByTag让人很容易联想到js中的相关方法,因此只要有点JS基础和java基础的人看这段代码都不会觉得陌生。

这里以查询学生成绩信息为例:

public class jsoupTest {

public void getGrade(String stu_num, String id_num) throws IOException {

String testURL = "http://jwc.cqupt.edu.cn/showS tuQmcj.php"; //目标网页 Connection con = Jsoup.connect(testURL); //获取连接 con.data("xh", stu_num); //填写参数 con.data("sfzh", id_num);

Document document = con.post(); //选择发送方式,获取整个网页信息,存在documnet类里​

Element pTable = document.body().getElementsByClass("pTable").get(0); //通过class属性 ,获取子类元素 ;

Elements trs =

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值