通过Java操作HTML -----jsoup

html/javascript-表格的创建和使用 html经常使用到表格table。在HTML中创建和使用表格,可以直接在html定义标签,也可以使用DOM(文档对象模型)来动态创建和操作表格元素。 阅读详情

JSOUP

官方中文文档

jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。

主要功能:

  1. 从一个URL,文件或字符串中解析HTML;

  2. 使用DOM或CSS选择器来查找、取出数据;

  3. 可操作HTML元素、属性、文本;

  4. jsoup是基于MIT协议发布的,可放心使用于商业项目。

依赖关系:

  • jsoup完全是自包含的,没有依赖性。

  • jsoup可在Java 7及更高版本,Scala,Kotlin,Android,OSGi,Lambda和Google App
    Engine上运行。

Maven和 jar下载位置

https://jsoup.org/download

------解析HTML文档-------

    //html 
String html = "<html><head><title>First parse</title></head>"
    + "<body><p>Parsed HTML into a doc.</p></body></html>";
    //解析得到DOM
  Document doc = Jsoup.parse(html);

解析器将尽一切努力从您提供的HTML创建干净的解析,无论HTML的格式是否正确。它处理:

  • 未关闭的标签 (例如,<p>Lorem <p>Ipsum解析为<p>Lorem</p> <p>Ipsum</p>)
  • 隐式标签 (例如,将裸体<td>Table data</td>包裹在中<table><tr><td>...)
  • 可靠地创建文档结构(html包含head和body,并且头部中仅包含适当的元素)

从元素中提取属性,文本和HTML

String html = "<p>An <a href='http://example.com/'><b>example</b></a> link.</p>";
Document doc = Jsoup.parse(html);
Element link = doc.select("a").first();

String text = doc.body().text(); // "An example link"
String linkHref = link.attr("href"); // "http://example.com/"
String linkText = link.text(); // "example""

String linkOuterH = link.outerHtml(); 
    // "<a href="http://example.com"><b>example</b></a>"
String linkInnerH = link.html(); // "<b>example</b>"

其他Api:

Element.id()
Element.tagName()
Element.className() 和 Element.hasClass(String className)

从网上获取并解析HTML文档,然后在其中查找数据(屏幕抓取)

Jsoup.connect(String url)

获取示例域

Document doc = Jsoup.connect("http://example.com/").get();
String title = doc.title();

该connect(String url)方法创建一个new Connection,并get()获取并解析一个HTML文件。如果在提取网址时发生错误,则会抛出一个IOException,您应该适当地处理它。
—实例—

import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class JsoupString {
  public static void main(String[] args) {
	  Document doc;
	try {
		doc = Jsoup.connect("https://www.chrisyoung777.com").get();
		  String title = doc.title();
		  System.out.println(title);
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}

}
}
//控制台输出
Hi.man

在这里插入图片描述

数据修改

  • 设置属性值

Elements 提供了批量操作元素属性和class的方法,比如:要为div中的每一个a元素都添加一个 rel=“nofollow” 可以使用如下方法:

  • 设置元素的html内容
Element div = doc.select("div").first(); // <div></div>
div.html("<p>lorem ipsum</p>"); // <div><p>lorem ipsum</p></div>
div.prepend("<p>First</p>");//在div前添加html内容
div.append("<p>Last</p>");//在div之后添加html内容
// 添完后的结果: <div><p>First</p><p>lorem ipsum</p><p>Last</p></div>

Element span = doc.select("span").first(); // <span>One</span>
span.wrap("<li><a href='http://example.com/'></a></li>");
// 添完后的结果: <li><a href="http://example.com"><span>One</span></a></li>
  • 设置元素的文本内容
Element div = doc.select("div").first(); // <div></div>
div.text("five > four"); // <div>five &gt; four</div>
div.prepend("First ");
div.append(" Last");
// now: <div>First five &gt; four Last</div>
JAVA:Spring Boot 集成 Jsoup 轻松解析和操作 HTML Jsoup是一个功能强大的Java HTML解析库,提供类似jQuery的API来解析和操作HTML文档。本文介绍了Jsoup的基本功能,包括从URL、字符串解析HTML,使用CSS选择器提取内容,修改HTML以及处理表单数据等。通过多个代码示例展示了Jsoup的常见用法,如抓取网页内容、提取链接和图片、修改DOM元素等。Jsoup具有简单易用、选择器强大、兼容性好等特点,适用于网页抓取、HTML清洗、表单提交等多种场景。 阅读详情

相关推荐

Java 的 Jsoup 高级进阶:网页数据抓取的艺术

解析 HTML:使用加载 HTML 文档。选择元素:使用 CSS 选择器选择特定的 HTML 元素。处理属性和文本:使用和处理元素的属性和文本。操作 HTML 元素:修改 HTML 元素的属性和文本。抓取网络上的 HTML:使用从网络上加载 HTML 文档。掌握了这些高级特性之后,你将能够更加高效地使用 Jsoup 库来处理复杂的 HTML 数据需求。希望这篇指南对你有所帮助!如果你有任何疑问或想要进一步了解的内容,请随时告诉我。😉。

java专栏 958

Java如何解析html里面的内容并存到数据库

Java如何解析html里面的内容并存到数据库

吴名氏的博客 17万+

使用Jsoup库进行Java操作HTML标签实战指南

Jsoup是一个流行的Java库,用于从HTML文档中解析和操作数据。它提供了一组强大而简洁的API,使得开发者能够从网页中提取和操作数据变得非常容易和直接。Jsoup的主要功能包括但不限于:从URL、文件或字符串解析HTML: Jsoup可以处理来自不同来源的HTML,包括网络上的网页和本地的HTML文件。提取和操作数据: 使用选择器,类似于jQuery,Jsoup可以轻松地提取和操作HTML元素中的数据。清洗HTML。

weixin_42452924的博客 868

HTML

HTML 1 HTML入门 1.1 初识HTML 1.1.1 概述 网络世界已经跟我们息息相关,当我们打开一个网站,首先映入眼帘的就是一个个华丽多彩的网页。这些网页,不仅呈现着基本的内容,还具备优雅的布局和丰富的动态效果,这一切都是如何做到的呢?前端入门课程,为您一层层的揭开网页的面纱。 网页的构成 HTML:通常用来定义网页内容的含义和基本结构。 CSS:通常用来描述网页的表现与展示效果。 JavaScript:通常用来执行网页的功能与行为。 HTML(超文本标记语言——HyperText M

weixin_48048140的博客 1033

yolo自动化项目实例解析(九) 导航

比如我们经常使用的导航,说白了就是寻找两点之间最近的路径,也就是所谓的寻路,我们需要想办法让程序知道他要去哪里,路径包含(起点、轨迹、路径)

默子昂 1994

opencv基础57-模板匹配cv2.matchTemplate()->(目标检测、图像识别、特征提取)

OpenCV 提供了模板匹配(Template Matching)的功能,它允许你在图像中寻找特定模板(小图像)在目标图像中的匹配位置。模板匹配在计算机视觉中用于目标检测、图像识别、特征提取等领域。: 首先,加载目标图像和要匹配的模板图像。: 选择适当的匹配方法,例如 cv2.TM_CCOEFF、cv2.TM_CCOEFF_NORMED、cv2.TM_CCORR、cv2.TM_CCORR_NORMED、cv2.TM_SQDIFF 或 cv2.TM_SQDIFF_NORMED。每种方法对应不同的匹配计算方式。

小海聊智造 1万+

【JavaWeb】HTML零基础入门

HTML基础语法详解,附带综合案例。

冲击大厂之路!!! 3955

别再手动敲代码了!用STM32CubeMX+FreeRTOS图形化配置,5分钟搞定多任务通信框架

本文详细介绍了如何利用STM32CubeMX和FreeRTOS快速搭建多任务通信框架,大幅提升嵌入式开发效率。通过图形化配置工具,开发者可在5分钟内完成任务调度、时钟配置和内核对象生成,特别适合物联网设备开发。文章还提供了代码优化和调试技巧,帮助开发者轻松应对复杂应用场景。

weixin_30363285的博客 291

JavaWeb之HTML标签介绍及使用

JavaWeb之HTML简介及常用标签的使用方式~

weixin_67659262的博客 1461

科研党必备:5分钟搞定MATLAB闪退问题(含R2020a-R2023b各版本适配)

本文针对科研人员常见的MATLAB闪退问题,提供了从R2020a到R2023b各版本的适配解决方案。通过分析六大诱因和版本定制化修复方法,帮助用户快速诊断和解决闪退问题,包括内存优化、高级调试和预防性维护等实用技巧,确保科研计算的连续性和稳定性。

t1u2v的博客 1951

18|AI 辅助精准测试:让平台会解释、会总结、会推荐

本文介绍 AI 在精准测试平台中的落地方式,包括变更摘要、风险解释、补测建议和报告总结。测试开发工程师。Java 后端开发工程师。质量平台 / DevOps 平台建设者。想了解精准测试落地方法的技术负责人。从报告中提取变更文件、未覆盖行、推荐用例。拼成结构化 JSON。让 AI 生成 200 字质量摘要。把摘要展示在报告顶部。读完本文后,可以复制下面的 Prompt,让 AI 生成一个报告总结练习。你是一名 AI 应用开发专家和测试架构师。

专注 AI 精准测试平台实战落地,分享从代码 Diff 到回归决策的完整工程闭环。主张“先建数据链路,再上 AI 智能”,让测试从“靠经验”走向“基于风险”。 55

Java操作Html文档利器---Jsoup

一、Jsoup是虾米东西了?这个不解释,给你列个场景你就知道,比喻你现在想通过java代码从www.baidu.com上获取百度icom的url,怎么办了?就必须得对html文档元素进行操作了。对!!Jsoup就是java中用来操作html文档的一个第三方类库。 二、Why Jsoup?用过Jquery的都知道,Jquery简单的语法超强的功能,让人用了就爱不释手,而Jsoup的用法

akwolf 1878

在ubuntu20.04中安装MATLAB时常见问题及解决方法

   如果你刚装完ubuntu20.04,这时你想要安装MATLAB2021A,在输入命令./install进行安装时,可能会报以下错误:    terminate called after throwing an instance of ‘JailContainerException’ what(): Error: 88: No JRE version parsed from/media/jzx/MATHWORKS_R2021A/sys /java/jre/glnxa64/jre/release   

慕羽★的博客 1万+

JAVA大字符串存储采用静态HTML,通过jsoup 对 HTML 文档进行解析和操作

在页面上操作大字符串时,有可能超出数据库字段,可以考虑使用静态HTML存储字符串,然后通过HTML解析器进行解析 jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。 jsoup 的主要功能如下: 1、从一个 ...

FE小白的进化之路 650

【网络】叶脊(Spine-Leaf)网络拓扑下全三层网络设计与实践(二) - 网络规划

2. 全三层架构设计思路 采用全三层网络架构设计的出发点是: 使用尽量少的交换机高级功能,可以尽可能减少由于功能bug故障造成的问题; 使用尽量少的网络协议,以兼容不通厂商的网络设备 实现简单,易于维护,绝对可靠的路由协议; 通过控制路由来调度流量,尽量减少设备或协议的故障域; 牺牲高级功能带来的便捷,得到更高的可用性和性能; 由上述原则,本文的设计选择只使用静态路由和BGP...

因吹斯汀 1万+

滑模观测器与锁相环结合应用:让电机“无感”也能精准旋转的奥秘

本文介绍了永磁同步电机无传感器控制中的滑模观测器(SMO)结合锁相环(PLL)技术。SMO通过创建虚拟电机模型,利用电流误差产生控制信号来估计反电动势;PLL则从反电动势中解码转子位置和速度信息。该组合方案兼具SMO的鲁棒性和PLL的高精度,计算量小且硬件要求低。文章详细阐述了原理、数学模型、参数整定方法及实际实现技巧,包括离散化处理、符号函数替代等优化手段,并分析了低速性能限制、抖振问题等常见挑战及解决方案。最后指出该技术未来将与人工智能、多观测器融合等方向结合发展。

汽车软件开发 193

Java中使用Jsoup对Html文档进行解析和操作

简介: jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。本文主要介绍如何使用 jsoup 来进行常用的 HTML 解析。 jsoup 简介 Java 程序在解析 HTML 文档时,相信大家都接触过 htmlparser 这个

人生起落,生活苦甜,坚持追求! 1699

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

jsoup 获取html中body内容_java获取文件编码,jsoup获取html纯文本操作

maven引入获取编码的jarcom.ibm.icuicu4j67.1获取文件编码package com.lovnx.note.util;import com.ibm.icu.text.CharsetDetector;import com.ibm.icu.text.CharsetMatch;import org.jsoup.Jsoup;import org.jsoup.nodes.Document...

weixin_36174245的博客 408

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Java html解析器之Jsoup

提供解析html、操作DOM的api,类似jquery的方法。 自动校正html中错误语法。甚至只有div元素,都会被补充成完整完整。 引入maven项目: <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <ve...

千霜的博客 3969

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

java获取html的title_java获取文件编码,jsoup获取html纯文本操作

java获取文件编码,jsoup获取html纯文本操作,文件,文本,给大家,希望能,然后再java获取文件编码,jsoup获取html纯文本操作易采站长站,站长之家为您整理了java获取文件编码,jsoup获取html纯文本操作的相关内容。maven引入获取编码的jarcom.ibm.icuicu4j67.1获取文件编码package com.lovnx.note.util;import com....

weixin_35703897的博客 329

java爬虫——JSoup

JSoup JSoup 是用于提取和处理 HTML 数据的 Java 库。 它实现了 HTML5 规范,并将 HTML 解析为与现代浏览器相同的 DOM。 该项目的网站是 jsoup.org 。 JSoup 功能 使用 JSoup,我们能够: 从 URL,文件或字符串中抓取并解析 HTML 使用 DOM 遍历或 CSS 选择器查找和提取数据 处理 HTML 元素,属性和文本 根据安全的白名单清除用户提交的内容,以防止 XSS 攻击 输出整洁的 HTML JSoup Mavven 依赖

LYQ 1万+

浅谈Java库之Jsoup

Jsoup 是一款流行的 Java 库,用于解析、操作和输出 HTML。它提供了非常便捷的 API 来处理 HTML 文档,类似于 jQuery 对于 JavaScript 的作用。Jsoup 能够从 URL、文件或字符串中加载 HTML,并使用 DOM(文档对象模型)方法或 CSS 选择器来查询和操作数据。Win64;.timeout(10000) // 设置超时时间为10秒.get();这样可以模拟浏览器访问,有时对访问某些需要特定 User-Agent 的网站很有用。

a876106354的博客 1596

[转]jsoup的Element类,妈妈再也不用担心我在java类中操作HTML节点了

原贴:https://blog.youkuaiyun.com/u010142437/article/details/18802873 一、简介 该类是Node的直接子类,同样实现了可克隆接口。类声明: public class Element extends Node 它表示由一个标签名,多个属性和子节点组成的html元素。从这个元素中,你可以提取数据,可以遍历节点树,可以操纵html。 二、构造方法 1...

cc874944236的博客 1338

使用Jsoup来解析HTML

使用Jsoup来解析HTML 1. 概要 Jsoup是一个开源Java库,主要用于从HTML提取数据。允许您操作和输出HTML,它有稳定的开发线、优秀的文档和流畅灵活的API,Jsoup还可以用于解析和构建XML。 在本教程中,我们将使用Spring博客演示一个抓取案例,它演示了jsoup的几个特性: 加载:抓取和解析HTML到一个文档 筛选:选择所需的数据到元素中并遍历它 提取:获取节点的属性、文本和HTML 修改:添加/编辑/删除节点并编辑它们的属性 2. Maven 依赖 Jsoup Maven

kerongao的博客 3542

Java 使用jsoup解析Html

使用 Jsoup 解析 HTML 的 Java 教程 在当今的网络编程中,解析 HTML 是一个非常常见的需求,尤其是在数据抓取(Web Scraping)和解析网页内容等场景中。Java 提供了许多工具和库,其中 Jsoup 是一个流行的库,用于处理和解析 HTML 文档。本文将详细介绍如何使用 Jsoup 进行 HTM...

weixin_34552443的博客 325
上一篇: java String截取字符之前,之后的字符串。获取每个字符所在位置。
下一篇: Java 微软office Excel文件转PDF
Servletimpl
博客等级 码龄7年 5粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值