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

 

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/229181/jsoup-1-15-4-released

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。