java 中开源的html解析库Jsoup 简单例子

        下面是一个使用Jsoup库解析HTML的简单Java例子。这个例子展示了如何使用Jsoup从一个HTML字符串中提取数据。
        首先,确保你已经将Jsoup作为依赖项添加到你的项目中。如果你使用的是Maven,可以在`pom.xml`文件中添加以下依赖:
        

<dependencies><dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.14.3</version> <!-- 请检查最新版本 --></dependency>
</dependencies>


        
然后,你可以使用以下Java代码来解析HTML:
 

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;public class JsoupExample {public static void main(String[] args) {String html = "<html><head><title>Sample Title</title></head>"+ "<body><p>Sample Content</p><div class='links'><a href='https://www.example1.com'>Example1</a>"+ "<a href='https://www.example2.com'>Example2</a></div></body></html>";Document doc = Jsoup.parse(html);// 获取标题String title = doc.title();System.out.println("Title: " + title);// 获取所有链接Elements links = doc.select("a[href]");for (Element link : links) {System.out.println("Link: " + link.attr("href"));System.out.println("Text: " + link.text());}// 获取具有特定类的元素Elements divLinks = doc.select("div.links");for (Element div : divLinks) {System.out.println("Div Class: " + div.className());// 可以进一步操作div元素}}
}

        在这个例子中,我们首先创建了一个包含HTML内容的字符串。然后,我们使用Jsoup.parse()方法来解析这个字符串,并得到了一个Document对象,它可以代表整个HTML文档。
        接着,我们使用Document对象的title()方法来获取文档的标题。使用select()方法,我们可以通过CSS选择器来选择和提取特定的元素。在这个例子中,我们提取了所有<a>标签的href属性和文本内容,以及具有links类的<div>标签。
        这个例子展示了Jsoup的基本用法,包括HTML解析、选择元素和提取属性。Jsoup还有很多其他功能,比如处理实时的HTML文档、修改DOM结构、清理HTML等。

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

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

相关文章

《图解设计模式》笔记(一)适应设计模式

图灵社区 - 图解设计模式 - 随书下载 评论区 雨帆 2017-01-11 16:14:04 对于设计模式&#xff0c;我个人认为&#xff0c;其实代码和设计原则才是最好的老师。理解了 SOLID&#xff0c;如何 SOLID&#xff0c;自然而然地就用起来设计模式了。Github 上有一个 tdd-training&…

【达梦数据库】通过系统函数来配置sqllog

环境说明&#xff1a;达梦2024年Q4季度版之后版本支持 通过系统函数进行sqllog参数配置 -- 新增模式 SLOG_CONFIG1 和 SLOG_CONFIG2&#xff1a; SP_SET_SQLLOG_INI([SLOG_CONFIG1]FILE_PATH../log;PART_STOR0;[SLOG_CONFIG2]SWITCH_MODE2;SWITCH_LIMIT128);-- 删除模式名为 S…

redis复习笔记06(小滴课堂)

分布式锁核心知识介绍和注意事项 基于Redis实现分布式锁的几种坑 综合伪代码&#xff1a; 运行&#xff1a;

PDF加粗内容重复读取解决方案

文章目录 前言发现问题解决方案问题分析大致逻辑 show my code 前言 在使用pdfplumber读取PDF的过程中&#xff0c;由于加黑的内容会被莫名其妙的读取两次&#xff0c;带来了很大的困扰。这篇文章将给出解决方案。 发现问题 在在使用pdfplumber读取PDF的过程中&#xff0c;读…

LLaMA 2 - 你所需要的一切资源

摘录 关于 LLaMA 2 的全部资源&#xff0c;如何去测试、训练并部署它。 LLaMA 2 是一个由 Meta 开发的大型语言模型&#xff0c;是 LLaMA 1 的继任者。LLaMA 2 可通过 AWS、Hugging Face 等提供商获取&#xff0c;并免费用于研究和商业用途。LLaMA 2 预训练模型在 2 万亿个标记…

HarmonyOS开发技术全面分析

系统定义 HarmonyOS 是一款 “ 面向未来 ” 、面向全场景&#xff08;移动办公、运动健康、社交通信、媒体娱乐等&#xff09;的分布式操作系统。在传统的单设备系统能力的基础上&#xff0c;HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念&#xff0c;能够…

python读写文件操作的三大基本步骤

目录 基本步骤 常用函数 open()函数 close()函数 read()函数 readlines()函数 readline()函数 write()函数 writelines()函数 with语句 读写操作的应用&#xff1a; 拷贝文件 with 语句的嵌套 逐行拷贝 基本步骤 1. 打开文件&#xff1a;open(filepath, mode, en…

探索亚马逊自养号测评的实际效果与使用感受

自养号在亚马逊测评中的应用给了我们一种全新的体验。通过使用亚马逊自养号&#xff0c;我们发现了许多令人满意的优势&#xff0c;这些优势不仅提升了我们的测评效率&#xff0c;还增加了我们的信誉度。 首先&#xff0c;自养号的质量可控性给了我们极大的信心。我们可以自行…

css中, grid-auto-rows: 怎样简写在grid:中

grid-auto-rows:100px; grid-template-columns:1fr 1fr; &#x1f446;可以写成&#x1f447; grid:auto-flow 100px / 1fr 1fr;在CSS Grid布局中&#xff0c;grid-auto-rows 属性用于指定自动生成的网格容器的行的大小。如果你想要将 grid-auto-rows 的值简写在 grid 属性中&a…

基于CNN-GRU-Attention的时间序列回归预测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 CNN&#xff08;卷积神经网络&#xff09;部分 4.2 GRU&#xff08;门控循环单元&#xff09;部分 4.3 Attention机制部分 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版…

【Vue渗透】Vue站点渗透思路

原文地址 极核GetShell 前言 本文经验适用于前端用Webpack打包的Vue站点&#xff0c;阅读完本文&#xff0c;可以识别出Webpack打包的Vue站点&#xff0c;同时可以发现该Vue站点的路由。 成果而言&#xff1a;可能可以发现未授权访问。 识别Vue 识别出Webpack打包的Vue站…

FFmpeg的HEVC解码器源代码学习笔记-1

一直想写一个HEVC的码流解析工具&#xff0c;看了雷神264码流解析工具&#xff0c;本来想尝试模仿写一个相似的265码流分析工具&#xff0c;但是发现265的解码过程和结构体和264的不太一样&#xff0c;很多结构体并没有完全暴露出来&#xff0c;没有想到很好的方法获得量化参数…

关键字查找,将匹配到的词标红

效果图&#xff1a; 候补 特别说明&#xff1a; 该文有很多新奇的用法&#xff0c;包括载入ui文件、连接信号和控件等等&#xff0c;有很多值得学习的地方 具体实现&#xff1a; 配置文件 #! [0] QT widgets uitoolsHEADERS textfinder.h SOURCES textfinder.cpp main.cpp…

自增a++和自减a--详细解析

1.自增、自减运算符是什么&#xff0c;有什么作用&#xff0c;需要注意什么? 、–;对当前变量值1、-1只能操作变量&#xff0c;不能操作字面量 2.自增、自减运算符放在变量前后有区别吗? 如果单独使用放前放后是没有区别的非单独使用:在变量前&#xff0c;先进行变量自增/…

unity学习(36)——角色选取界面(自制美工)

1.添加一个背景图片&#xff0c;记不住可以查之前的资料&#xff08;4&#xff09; 图片拖入asset&#xff0c;属性设成sprite&#xff1b;把图片拖到source image中&#xff1b;colour白色&#xff08;透明&#xff0c;点一下右边的笔即可&#xff09;&#xff1b;material为…

SpringCloud-Gateway网关的使用

本文介绍如何再 SpringCloud 项目中引入 Gateway 网关并完成网关服务的调用。Gateway 网关是一个在微服务架构中起到入口和路由控制的关键组件。它负责处理客户端请求&#xff0c;进行路由决策&#xff0c;并将请求转发到相应的微服务。Gateway 网关还可以实现负载均衡、安全认…

【零基础学习CAPL】——诊断报文发送

🙋‍♂️【零基础学习CAPL】系列💁‍♂️点击跳转 文章目录 1.概述2.调用CDD的诊断报文发送3.脱离CDD进行诊断报文4.多帧诊断报文的发送4.1.直接定义报文发送4.2调用osek_tp.dll进行多帧数据发送4.3.函数介绍4.4.CAPL脚本实现1.概述 本章主要介绍基于CAPL脚本对诊断报文的…

subprocess.check_output()和subprocess.run()的区别

subprocess.check_output() 返回值&#xff1a;subprocess.check_output() 返回命令的标准输出&#xff08;stdout&#xff09;。如果命令执行失败&#xff08;返回非零退出码&#xff09;&#xff0c;则抛出 CalledProcessError 异常。使用场景&#xff1a;只关心命令的输出&…

vue大文件读取部分内容,避免重复加载大文件,造成流量浪费

使用场景&#xff1a;项目点云地图是pcd文件&#xff0c;但是文件可能上百兆&#xff0c;我需要获取到文件中的版本信息&#xff0c;跟本地的缓存文件做比较&#xff0c;如果不一致&#xff0c;才会加载整个文件。从而节省流量。 避免重复加载整个“.pcd文件&#xff0c;以最大…

【PX4学习笔记】04.QGC地面站的使用

目录 文章目录 目录PX4代码烧入PX4固件代码的烧入方式1PX4固件代码的烧入方式2 QGC地面站的基础使用连接地面站的方式查看关键的硬件信息 QGC地面站的Application Settings模块Application Settings模块-常规界面单位其他设置数据持久化飞机中的数传日志飞行视图计划视图自动连…