java解析html

目录

  • 场景描述
  • 一.引入依赖
  • 二.调用接口响应回来的html
  • 三.测试代码

场景描述

我调用外部接口,但是返回来的数据是html的格式,所以我就需要进行处理来获得我想要的数据。我使用的是jsoup

一.引入依赖

<dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.11.3</version>
</dependency>

二.调用接口响应回来的html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {font-family: "微软雅黑"!important;
}
</style>
<script type="text/javascript" src="https://www.ikun.com.cn/statics/js/jquery-1.7.2.js"></script>
</head>
<body>
<link rel="stylesheet" href="https://www.ikun.com.cn/statics/css/list.css" />
<link rel="stylesheet" href="https://www.ikun.com.cn/statics/css/base.css" />
<!--main-->
<div class="w870" style="background:#fff"><div class="suipin"> <a href="https://www.ikun.com.cn">首页</a>><b class="mowei"><a href="https://www.ikun.com.cn/index.php?m=content&c=index&a=lists&catid=194">智库</a> > <a href="https://www.ikun.com.cn/index.php?m=content&c=index&a=lists&catid=201">港口</a> > <a href="https://www.ikun.com.cn/index.php?m=content&c=index&a=lists&catid=226">ikun日记</a> >  列表</b> </div><!--最新下载--><table width="100%" class="mtzktab" id="mtzktab"><thead><tr class="biaoti"><th width="70%" align="left">ikun日记</th><!-- <th width="15%">点击</th> --><th width="30%">发布时间</th></tr></thead><tbody><tr><td><div class="dian">.</div><a href="https://www.ikun.com.cn/index.php?m=content&c=index&a=show&catid=226&id=235904" target="_blank">ikun日记(第468期)</a></td><!-- <td align="center">0</td> --><td align="center">2023-08-21</td></tr><tr><td><div class="dian">.</div><a href="https://www.ikun.com.cn/index.php?m=content&c=index&a=show&catid=226&id=235638" target="_blank">ikun日记(第467期)</a></td><!-- <td align="center">3</td> --><td align="center">2023-08-14</td></tr><tr><td><div class="dian">.</div><a href="https://www.ikun.com.cn/index.php?m=content&c=index&a=show&catid=226&id=235402" target="_blank">ikun日记(第466期)</a></td><!-- <td align="center">10</td> --><td align="center">2023-08-07</td></tr><tr><td><div class="dian">.</div><a href="https://www.ikun.com.cn/index.php?m=content&c=index&a=show&catid=226&id=235224" target="_blank">ikun日记(第465期)</a></td><!-- <td align="center">4</td> --><td align="center">2023-07-31</td></tr><tr><td><div class="dian">.</div><a href="https://www.ikun.com.cn/index.php?m=content&c=index&a=show&catid=226&id=235047" target="_blank">ikun日记(第464期)</a></td><!-- <td align="center">6</td> --><td align="center">2023-07-24</td></tr><tr><td><div class="dian">.</div><a href="https://www.ikun.com.cn/index.php?m=content&c=index&a=show&catid=226&id=235043" target="_blank">ikun日记(第463期)</a></td><!-- <td align="center">2</td> --><td align="center">2023-07-17</td></tr><tr><td><div class="dian">.</div><a href="https://www.ikun.com.cn/index.php?m=content&c=index&a=show&catid=226&id=234716" target="_blank">ikun日记(第462期)</a></td><!-- <td align="center">5</td> --><td align="center">2023-07-10</td></tr><tr><td><div class="dian">.</div><a href="https://www.ikun.com.cn/index.php?m=content&c=index&a=show&catid=226&id=234535" target="_blank">ikun日记(第461期)</a></td><!-- <td align="center">9</td> --><td align="center">2023-07-03</td></tr><tr><td><div class="dian">.</div><a href="https://www.ikun.com.cn/index.php?m=content&c=index&a=show&catid=226&id=234531" target="_blank">ikun日记(第460期)</a></td><!-- <td align="center">1</td> --><td align="center">2023-06-19</td></tr><tr><td><div class="dian">.</div><a href="https://www.ikun.com.cn/index.php?m=content&c=index&a=show&catid=226&id=234100" target="_blank">ikun日记(第459期)</a></td><!-- <td align="center">6</td> --><td align="center">2023-06-12</td></tr><tr><td><div class="dian">.</div><a href="https://www.ikun.com.cn/index.php?m=content&c=index&a=show&catid=226&id=233842" target="_blank">ikun日记(第458期)</a></td><!-- <td align="center">3</td> --><td align="center">2023-06-05</td></tr><tr><td><div class="dian">.</div><a href="https://www.ikun.com.cn/index.php?m=content&c=index&a=show&catid=226&id=233838" target="_blank">ikun日记(第457期)</a></td><!-- <td align="center">1</td> --><td align="center">2023-05-29</td></tr><tr><td><div class="dian">.</div><a href="https://www.ikun.com.cn/index.php?m=content&c=index&a=show&catid=226&id=233551" target="_blank">ikun日记(第456期)</a></td><!-- <td align="center">7</td> --><td align="center">2023-05-22</td></tr><tr><td><div class="dian">.</div><a href="https://www.ikun.com.cn/index.php?m=content&c=index&a=show&catid=226&id=233279" target="_blank">ikun日记(第455期)</a></td><!-- <td align="center">6</td> --><td align="center">2023-05-15</td></tr><tr><td><div class="dian">.</div><a href="https://www.ikun.com.cn/index.php?m=content&c=index&a=show&catid=226&id=233087" target="_blank">ikun日记(第454期)</a></td><!-- <td align="center">8</td> --><td align="center">2023-04-29</td></tr></tbody></table><div id="pages"> <a class="a1">368条</a> <a href="index.php?m=content&c=index&a=lists&catid=226" class="a1">上一页</a> <span>1</span> <a href="index.php?m=content&c=index&a=lists&catid=226&page=2">2</a> <a href="index.php?m=content&c=index&a=lists&catid=226&page=3">3</a> <a href="index.php?m=content&c=index&a=lists&catid=226&page=4">4</a> <a href="index.php?m=content&c=index&a=lists&catid=226&page=5">5</a> <a href="index.php?m=content&c=index&a=lists&catid=226&page=6">6</a> <a href="index.php?m=content&c=index&a=lists&catid=226&page=7">7</a> <a href="index.php?m=content&c=index&a=lists&catid=226&page=8">8</a> <a href="index.php?m=content&c=index&a=lists&catid=226&page=9">9</a> <a href="index.php?m=content&c=index&a=lists&catid=226&page=10">10</a> ..<a href="index.php?m=content&c=index&a=lists&catid=226&page=25">25</a> <a href="index.php?m=content&c=index&a=lists&catid=226&page=2" class="a1">下一页</a> </div><script type="text/javascript">$().ready(function () {$('#mtzktab tbody tr:odd').css('background', '#eeeeee'); });</script> 
</div>
</body>
</html>

在这里插入图片描述

三.测试代码

package org.jeecg.modules.mt.controller;import cn.hutool.http.HttpUtil;
import org.jsoup.Jsoup;
import org.springframework.util.StringUtils;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.xml.sax.SAXException;
import javax.xml.parsers.ParserConfigurationException;
import java.io.IOException;public class Test {public static void main(String[] args) throws IOException, SAXException, ParserConfigurationException {String apiUrl = "https://www.ikun.com.cn/index.php?m=content&c=index&a=lists&catid=226&page=1";// 发送get请求String body = HttpUtil.createPost(apiUrl).execute().body();Document doc = Jsoup.parse(body);//获取<tbody>标签下的<div>标签,并把<div>标签的值改为空Elements headingsDiv = doc.select("tbody").select("div");for (Element element : headingsDiv) {element.text("");}//获取<tbody>标签下的<td>标签Elements headings = doc.select("tbody").select("td");//循环获取的<td>标签for (int i = 0; i < headings.size(); i++) {//获取<td>标签内的值String text = headings.get(i).text();//因为包含两个不同的<td>标签,所以需要取余if (i%2 == 0){//获取<td>标签下的<a>标签的 href 属性的值String href = headings.get(i).select("a").attr("href");System.out.println("文件下载地址:"+href);System.out.println("文件名称:"+text);}else {System.out.println("文件时间:"+text);}}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/112492.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js reverse实现数据的倒序

2023.8.25今天我学习了如何在数组顺序进行倒序排列&#xff0c;如&#xff1a; 原数组为&#xff1a; 我们只需要对数组使用reverse()方法 let demo [{id: 1, name: 一号},{id: 2, name: 二号},{id: 3, name: 三号},]demo.reverse()console.log(demo) 扩展&#xff1a; 当我…

【C语言】每日一题(除自身以外数组的乘积)

添加链接描述&#xff0c;链接奉上 方法&#xff1a; 暴力循环:前缀积后缀积&#xff08;分组&#xff09;: 暴力循环: 暴力循换真的是差生法宝&#xff0c;简单好懂&#xff0c;就是不实用&#xff0c;大多数的题目都会超过时间限制&#xff08;无奈&#xff09; 思路&…

载舟前行——2023跳槽涨薪,Android的1000道面试题

转眼没有口罩的一年&#xff0c;就来到下半年。比起之前几年今天愈发的艰难&#xff1b;今年的金九银十的来到&#xff0c;许多跳槽找工作的也来到了旺季。岗位的减少无疑造成的后果就是竞争大&#xff0c;所以面试优胜劣汰你需要在千百人中脱颖而出。 面试不容小觑&#xff0…

数据结构day07(栈和队列)

今日任务 链式队列&#xff1a; head.h #ifndef __HEAD_H__ #define __HEAD_H__#include <stdio.h> #include <stdlib.h>typedef int datatype; typedef struct link_list{datatype data;struct link_list* next; }link,*linkp; typedef struct circulate_line_t…

【UE 材质】实现角度渐变材质、棋盘纹理材质

目标 步骤 一、角度渐变材质 1. 首先通过“Mask”节点将"Texture Coordinate" 节点的R、G通道分离 2. 通过“RemapValueRange”节点将0~1范围映射到-1~1 可以看到此时R通道效果&#xff1a; G通道效果&#xff1a; 继续补充如下节点 二、棋盘纹理材质 原视频链接&…

Android AGP版本

做个记录&#xff1a; Android AGP版本 https://developer.android.com/studio/releases/gradle-plugin?hlzh-cn

Java稀疏数组

目录 1.稀疏数组 2.稀疏数组的使用 2.1 二维数组转换为稀疏数组 2.2 稀疏数组转换为二维数组 1.稀疏数组 稀疏数组&#xff08;Sparse Array&#xff09;&#xff1a;当一个数组中的大部分元素为相同的值&#xff0c;可使用稀疏数组来保存该数组&#xff0c;可以将稀疏数组…

学习JAVA打卡第四十七天

日期的格式化 程序可能希望按照某种习惯来输出时间。例如时间的顺序&#xff1a;年/月/日或年/月/日/时/分/秒。可以直接使用String类调用format方法对日期进行格式化。 Format方法 Format方法&#xff1a; format&#xff08;格式化模式,日期列表&#xff09; 按照“格式…

tomcat更改端口号和隐藏端口号

因为默认端口:8080不会自动隐藏&#xff0c;因此为了更显格调需要将其改为:80 进入tomcat的server文件 将其改为80&#xff0c;之后将tomcat重新启动即可 tomcat启动流程 [rootshang ~]# cd /usr/local/tomcat/apache-tomcat-8.5.92 [rootshang apache-tomcat-8.5.92]# cd b…

Jacoco XML 解析

1 XML解析器对比 1. DOM解析器&#xff1a; ○ 优点&#xff1a;易于使用&#xff0c;提供完整的文档树&#xff0c;可以方便地修改和遍历XML文档。 ○ 缺点&#xff1a;对大型文档消耗内存较多&#xff0c;加载整个文档可能会变慢。 ○ 适用场景&#xff1a;适合小型XML文档…

报错sql_mode=only_full_group_by

首发博客地址 https://blog.zysicyj.top/ 报错内容 ### The error may exist in file[D:\code\cppCode20221025\leader-system\target\classes\mapper\system\TJsonDataMapper.xml] ### The error may involve defaultParameterMap ### The error occurred while…

前端最能打的本地存储方案

产品的原话就是“要又大又全”。既然存储量大&#xff0c;也要覆盖全多种设备多种浏览器。 方案选择 既然要存储的数量大&#xff0c;得排除cookielocalStorage&#xff0c;虽然比cookie多&#xff0c;但是同样有上限&#xff08;5M&#xff09;左右&#xff0c;备选websql 使…

无涯教程-Python机器学习 - Extra Trees函数

它是袋装决策树集成方法的另一种扩展。在这种方法中,从训练数据集的样本中构建随机树。 在以下Python食谱中,我们将通过在Pima Indians糖尿病数据集上使用sklearn的ExtraTreesClassifier类来构建额外的树集成模型。 首先,导入所需的软件包,如下所示: from pandas import rea…

Centos7安装ZK-UI管理界面安装|Maven|Git|

一: JDK1.8安装 参考: Centos7卸载|安装JDK1.8|Xshell7批量控制多个终端 二&#xff1a;Maven安装 2.1&#xff1a;下载maven安装包 maven 下载地址&#xff1a;https://mirror.bit.edu.cn/apache/maven/maven-3/ [rootwww ~]# mkdir -p /usr/local/maven [rootwww ~]# …

HTTP:http上传文件的原理及java处理方法的介绍

为了说明原理&#xff0c;以下提供一个可以上传多个文件的例子&#xff0c;html页面代码如下&#xff1a; <!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>http upload file</title> </head> <body>…

Http 1.0 1.1 2.0 3.0 版本差别

Http 1.0 发布年份&#xff1a;1996 非官方标准 短链接&#xff1a;每一次请求都对应一次TCP的连接与释放 开销大&#xff1a;每次请求都要TCP的连接与释放队头阻塞&#xff1a;每次请求都必须等上一次请求获得响应之后&#xff0c;才可以发送&#xff1b;效率低下 缓存&…

非煤矿山风险监测预警算法 yolov8

非煤矿山风险监测预警算法通过yolov8网络模型深度学习算法框架&#xff0c;非煤矿山风险监测预警算法在煤矿关键地点安装摄像机等设备利用智能化视频识别技术&#xff0c;能够实时分析人员出入井口的情况&#xff0c;人数变化并检测作业状态。YOLO的结构非常简单&#xff0c;就…

Typora mac版本安装

提示&#xff1a;文章介绍&#xff0c;Typora在Mac系统中免费安装使用 文章目录 一、官网下载二、安装 一、官网下载 官网地址&#xff1a;https://www.typoraio.cn/ 二、安装 安装好后按 command 空格键&#xff0c;找到 Typora的安装路径 /Applications/Typora.app/Con…

Linux特殊指令

目录 1.dd命令 2.mkfs格式化 3.df命令 4.mount实现硬盘的挂载 5.unshare 1.dd命令 dd命令可以用来读取转换并输出数据。 示例一&#xff1a; if表示infile&#xff0c;of表示outfile。这里的/dev/zero是一个特殊文件&#xff0c;会不断产生空白数据。 bs表示复制一块的大…