jsoup 1.15.4 发布,Java HTML 解析器


jsoup 1.15.4 现已发布,其中包括了一些改进,尤其是在 pretty-printing HTML 时;以及一些错误的修正。jsoup 是一个用于处理 real-world HTML 的 Java 库。它使用最好的 HTML5 DOM 方法和 CSS 选择器提供了一个非常方便的 API 用于提取和操作数据。

下载地址:https://jsoup.org/download

具体更新内容包括:

Improvements

  • 添加了转义 CSS 选择器(tag、ID、classes)以匹配不遵循常规 CSS 语法的元素的功能。例如,要按类名<p class="one.two">进行匹配,可以使用document.select("p.one\\.two"); #838

  • pretty-printing 时,将<br>标签后面的文本换行。#1858

  • pretty-printing 时,规范化自定义标签中 self-closing 标签后面的换行符。#1852

  • pretty-printing 时,折叠 block 和 inline 标签之间的非重要空白。#1802

  • [Element.forEach()][Node.forEachNode()]中,使用java.util.function.Consumer而不是以前的 Android ompatibility shim ​​[org.jsoup.helper.Consumer]。后者已被弃用。#1870

  • 添加了一个新方法[Document.forms()],可以方便地检索包含文档中<form>元素的List<FormElement>

  • 增加了一个新方法[Document.expectForm()],找到第一个匹配的[FormElement],或者 blow up trying。

Bug 修复

  • 包含[and <code>]等字符的 URL 未正确转义,并且在获取时会抛出一个MalformedURLException错误。#1873

  • [Element.cssSelector()]将为标签名称、ID 或类名称需要转义的元素创建无效的选择器(例如,如果类名称包含.:)。#1742

  • [Element.text()]在 block 和 inline 元素之间应该有一个空格。#1877

  • 如果一个[Node][Element]被自身替换,则该节点将被错误地孤立。#1843

  • [newRequest()]中,之前请求的表单数据被复制到新的请求中,导致执行多步表单提交时表单数据堆积,或者数据错误发送到后面的请求。现在,[newRequest()]只复制与会话相关的设置(cookie、代理设置、用户代理等),而不是请求数据或正文。#1778

  • 修复了[Safelist.removeAttributes()]中的问题,当使用:all pseudo-attribute 时可能抛出一个ConcurrentModificationException

  • 给定极深嵌套的 HTML,[Element]其中的许多方法可能会由于过多的递归而抛出StackOverflowError。即:#data()#hasText()#parents()#wrap(html)。#1864

Changes

  • 弃用了未使用的[Document.normalise()]方法。规范化发生在 HTML tree 构建过程中,不再作为一个独立的阶段。

更新说明:https://github.com/jhy/jsoup/releases/tag/jsoup-1.15.4

 


相關推薦

2022-08-25

jsoup 1.15.3 现已发布,包括针对潜在 XSS 攻击的安全修复,以及其他改进,包括更具描述性的验证错误消息。jsoup 是一个用于处理 real-world HTML 的 Java 库。它使用最好的 HTML5 DOM 方法和 CSS 选择器提供了一个非常方便的 API 用于

2023-12-31

jsoup 1.17.2 现已发布。jsoup 是一个用于处理 real-world HTML 的 Java 库。它使用最好的 HTML5 DOM 方法和 CSS 选择器提供了一个非常方便的 API 用于提取和操作数据。 下载地址:https://jsoup.org/download 具体更新内容包括: 改进 Attrib

2023-10-22

,相约开源PHP办公室,我们一起聊 AI!>>> jsoup 1.16.2 现已发布。jsoup 是一个用于处理 real-world HTML 的 Java 库。它使用最好的 HTML5 DOM 方法和 CSS 选择器提供了一个非常方便的 API 用于提取和操作数据。 下载地址:https://jsoup.org/

2023-05-06

jsoup 1.16.1 现已发布。jsoup 是一个用于处理 real-world HTML 的 Java 库。它使用最好的 HTML5 DOM 方法和 CSS 选择器提供了一个非常方便的 API 用于提取和操作数据。 下载地址:https://jsoup.org/download 具体更新内容包括: Improvements

2023-11-28

jsoup 1.17.1 现已发布,支持 request-level 身份验证、属性名称和值源范围、stream( ) 可迭代支持以及大量其他改进和错误修复。jsoup 是一个用于处理 real-world HTML 的 Java 库。它使用最好的 HTML5 DOM 方法和 CSS 选择器提供了一

2023-03-06

Pandoc 3.1.1 发布了,Pandoc 是一个通用标记转换 Haskell 库,用于从一种标记格式转换为另一种,同时也是一个使用该库的命令行工具,它可以转换 28 种标记格式。 此版本带来如下更改: TSV 阅读器:不将制表符当作空格 ( #8661 )

2023-07-09

YMP 是一个非常简单、易用的轻量级 Java 应用开发框架,涵盖 AOP、IoC、WebMVC、ORM、Validation、Plugin、Serv、Cache 等特性,主要技术特点: 采用组件化、模块方式打包,可按需装配,灵活可扩展; 采用微内核实现 AutoScan、AOP、

2023-02-13

Fastcms 是基于 SpringBoot 前后端分离技术,且具有插件化架构的 CMS 系统,系统具有高扩展性,易维护性,可以快速搭建网站,微信小程序,是开发微信营销插件的基石 Fastcms 是真正意义上的插件化开源项目,支付,搜索,订单催

2023-07-11

持从项目外部加载源代码来生成字段注释 (包括标准规范发布的 jar 包)。 支持生成多种格式文档:Markdown、HTML5、Asciidoctor、Postman collection、Open Api 3.0+。 轻易实现在 Spring Boot 服务上在线查看静态 HTML5 api 文档。 开放文档数据

2022-10-27

目前PHP8.2已经进入RC阶段,按计划还有一个月就会发布正式版。而PHP8.3的决议也早已开始推进了。 本文为大家介绍一个最新通过的决议,也是PHP8.3的第一个决议:内置JSON验证函数。 这项决议在2022-08-14发起,2022-10-07 投票完成

2022-07-06

OpenAPI Generator v6.0.1 现已发布。OpenAPI Generator 可用于在给定 OpenAPI 规范(v2, v3)的情况下自动生成 API 客户端库、server stubs、文档以及配置。 v6.0.1 是一个包含增强功能的补丁版本,修复了涵盖 20 种编程语言的错误。有关更改

2022-10-16

为 Apache2.0 开源协议; 2、版本升级:依赖版本升级,如jsoup、htmlunit、selenium等; 3、代码重构:优化代码结构,提升系统可维护性; 简介 XXL-CRAWLER 是一个分布式爬虫框架。一行代码开发一个分布式爬虫,拥有"多线程、异步

2022-09-09

feilong 3.2.1 发布了,让Java开发更简便的工具库 让你从大量重复的底层代码中脱身,提高开发效率; 让你的代码更简炼,易写、易读、易于维护; 文档地址: http://feilong-core.mydoc.io/ maven 依赖配置: <dependency> <groupI

2023-03-27

MyExcel,是一个集导入、导出、加密 Excel 等多项功能的 Java 工具包。 MyExcel 采用声明式语法来构建、读取 Excel,屏蔽 POI 的具体操作细节(对 POI 无感知),以开发常用的技术替代,使得构建(从简单到高度复杂 Excel)以及读取 E