jsoup HTML解析器 v1.20.1

HTML解析器

  • 源码大小:361KB
  • 源码语言:简体中文
  • 源码类型:国产软件
  • 源码授权:开源软件
  • 源码类别:java源码
  • 应用平台:JAVA
  • 更新时间:2025-04-04
  • 网友评分:
360通过 腾讯通过 金山通过

情介绍

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

jsoup的主要功能如下:

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

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

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

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

更新日志

更改

增加了对 http/2 请求的支持 Jsoup.connect(),当在 Java 11+ 上运行时,通过 Java HttpClient 实现。#2257.

在这个版本的jsoup中,默认是通过HttpUrlConnection实现来发送请求:使用 System.setProperty("jsoup.useHttpClient", "true");来改为通过HttpClient发送请求,这将启用http/2支持(如果可用)。这将在jsoup的以后版本中成为默认设置,所以现在是一个验证的好时机。

如果你在部署中重新打包jsoup jar(即创建一个遮罩 jar 或胖 jar),请确保将其指定为 Multi-Release JAR。

如果 HttpClient 在您的 JRE 中不可用,请求将继续通过 HttpURLConnection 进行 (在 http/1.1 模式下)。

将最低 Android API 级别验证从 10 更新到 21。与之前的 jsoup 版本一样,Android 开发者需要启用核心库 desugaring。最低 Java 版本仍然是 Java 8。 #2173

移除了之前已弃用的类:org.jsoup.UncheckedIOException (用java.io.UncheckedIOException替换); 将之前已弃用的方法Element Element#forEach(Consumer) 移动到 void Element#forEach(Consumer())。#2246

已弃用方法Document#updateMetaCharsetElement(boolean)和Document#updateMetaCharsetElement(),因为该设置没有效果。当Document#charset(Charset)被调用时,文档的meta charset或XML编码指令总是会被设置。#2247

改进

当使用一个Safelist来清理HTML并保持相对链接时,isValid()方法现在会认为这些链接有效。此外,强制属性rel=nofollow只有在安全列表中配置时才会添加到外部链接。#2245

添加了 Element#selectStream(String query) 和 Element#selectStream(Evaluator) 方法,这些方法返回一个 Stream 匹配元素的列表。元素在找到时会被评估并返回,且流可以提前终止。#2092

Element 对象现在实现了 Iterable,使它们能够在增强的 for 循环中使用。

增加了从 Reader解析片段的支持 Parser#parseFragmentInput(Reader, Element, String)。#1177

重新引入 CLI 可执行文件示例,在 jsoup-examples.jar。 #1702

通过更好地平衡查询计划器中祖先评估器的成本函数,优化了选择器的性能,如#id .class(和其他类似的后代查询)提高了约4.6倍。#2254

移除了用于<isindex>标签的遗留解析规则,这些规则会自动创建一个带有标签的form元素。这不再在规范中。

添加了 Elements.selectFirst(String cssQuery) 和 Elements.expectFirst(String cssQuery),以从 Elements 列表中选择第一个匹配的元素。 #2263

在使用XML解析器解析时,XML声明和处理指令是直接处理的,而不是通过HTML解析器的假注释处理程序。非文档类型声明的序列化不再以虚假的!。#2275

在将解析的HTML转换为XML或W3C DOM时,包含<的元素名称被规范为_,以确保有效的XML。例如,<foo<bar>变成<foo_bar>,因为XML不允许<在元素名称中,但HTML5允许。#2276

实现了当前规范的HTML5采用机构算法。这处理了错误嵌套的格式/结构元素。#2278

错误修复

如果一个元素的属性名中包含 ;,则无法转换为 W3C DOM 元素,因此后续的 XPath 查询可能会忽略该元素。现在,属性名被更完全地 标准化。#2244

为了兼容性,将文档类型名称的内部属性键恢复为“name”。#2241

在Connection中,跳过没有名字的Cookies,而不是抛出验证异常。#2242

在运行于 JDK 1.8 时,错误java.lang.NoSuchMethodError: java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer; 可能在从 URL 解析后调用Response#body()且缓冲区大小被超过时抛出。#2250

为了向后兼容,允许null InputStream 输入到Jsoup.parse(InputStream stream, ...),通过返回一个空的Document。#2252

一个 template 标签包含一个 li 在一个打开的 li 标签内,会被解析错误,因为它没有被识别为一个 “特殊” 标签(具有额外的处理规则)。另外,将 SVG 和 MathML 命名空间标签添加到特殊标签列表中。#2258

一个 template 标签包含一个 button 在一个打开的 button 标签内,解析会不正确,因为“在按钮作用域”检查没有意识到 template 元素。修正了其他实例,包括 MathML 和 SVG 元素。#2271

一个:nth-child选择器的步长为负且没有数字,例如:nth-child(-n+2),会被解析为一个正步长,因此不会如预期那样匹配。#1147

调用 doc.charset(charset) 在一个空的XML文档上会抛出一个 IndexOutOfBoundsException. #2266

修复了在重用嵌套时的内存泄漏StructuralEvaluator(例如,选择器祖先链如A B C)通过确保缓存重置调用传递到内部成员。#2277

对doc.clone().append(html)的并发调用不被支持。当克隆一个文档时,它的Parser没有被克隆,而是原始解析器的浅拷贝。#2281

载地址

下载错误?【投诉报错】

气源码

关文章

  • Java轻量级类隔离框架 SOFAArk Project v2.3.0

    SOFAArk 是一款基于 Java 实现的动态热部署和轻量级类隔离框架,由蚂蚁集团开源贡献,主要提供应用模块的动态热部署和类隔离能力。欢迎需要的朋友下载使用...

  • SpringBlade微服务开发平台 v4.4.0

    SpringBlade 是一个由商业级项目升级优化而来的SpringCloud分布式微服务架构、SpringBoot单体式微服务架构并存的综合型项目,采用Java8 API重构了业务代码,完全遵循阿里巴...

  • Diboot轻代码开发平台 v2.11.0

    Diboot轻代码开发平台是一个面向开发人员的低代码开发平台,将重复性的工作自动化,提高质量、效率、可维护性...

  • RuoYi-activiti工作流平台源码 v4.1

    RuoYi-activiti是一款以若依开源权限管理系统为基础开发平台并集成了activiti框架完成的工作流系统,旨在打造集流程设计、流程部署、流程执行、任务办理、流程监控于一体的...

  • RuoYi若依权限管理系统 v4.7.9

    RuoYi若依权限管理系统是一个基于SpringBoot的权限管理系统,代码易读易懂、界面简洁美观, 核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖,喜欢的朋友快来下载...

  • Java Struts2漏洞复现工具

    今天给大家分享Java Struts2漏洞复现工具,喜欢的朋友快来下载体验吧...

  • java操作excel的jar包(jxl.jar包 源码)

    jxl.jar是通过java操作excel表格的工具类库,能够修饰单元格属性,是由java语言开发而成的,接下来通过本文给大家介绍java操作excel的jar包(jxl.jar包 源码),喜欢的朋友快...

  • springboot整合QuartJob实现定时器实时管理源代码

    Quartz是一个完全由java编写的开源作业调度框架,形式简易,功能强大,,下面给大家分享springboot整合QuartJob实现定时器实时管理源代码,感兴趣的朋友快来下载体验吧...

  • SOFABoot开源框架 v3.24.0

    SOFABoot 是蚂蚁集团开源的基于 Spring Boot 的研发框架,它在 Spring Boot 的基础上,提供了诸如 Readiness Check,上下文隔离,类隔离,日志空间隔离等等能力...

  • 基于SSM的应急资源管理系统源码 v1.0

    应急资源管理系统用的是是比较流行的SSM和前端JSP技术,用它来创建使用脚本语言,结合HTML代码来制作动态 网页,欢迎需要的朋友下载使用...

载声明

☉ 解压密码:www.jb51.net 就是本站主域名,希望大家看清楚,[ 分享码的获取方法 ]可以参考这篇文章
☉ 推荐使用 [ 迅雷 ] 下载,使用 [ WinRAR v5 ] 以上版本解压本站软件。
☉ 如果这个软件总是不能下载的请在评论中留言,我们会尽快修复,谢谢!
☉ 下载本站资源,如果服务器暂不能下载请过一段时间重试!或者多试试几个下载地址
☉ 如果遇到什么问题,请评论留言,我们定会解决问题,谢谢大家支持!
☉ 本站提供的一些商业软件是供学习研究之用,如用于商业用途,请购买正版。
☉ 本站提供的jsoup HTML解析器 v1.20.1资源来源互联网,版权归该下载资源的合法拥有者所有。