添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

jsoup 1.18.1 现已发布,新的流解析器提供了混合 DOM + SAX 事件驱动的解析接口、请求进度跟踪和许多其他改进。jsoup 是一个用于处理 real-world HTML 的 Java 库。它使用最好的 HTML5 DOM 方法和 CSS 选择器提供了一个非常方便的 API 用于提取和操作数据。

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

具体更新内容包括:

  • Stream Parser StreamParser 对输入进行渐进式解析。对于 URL 请求,可通过 Connection.Response.streamParser() 获得。每个 Element 完成时,都会通过 Stream Iterator interface 输出。返回的元素将包括其所有子元素以及(空的)下一个同级元素(如果适用)。元素(或其子元素)可能会在解析过程中从 DOM 中删除,例如为了节省内存,提供一种机制来解析输入文档,否则该文档会过于庞大而无法容纳在内存中,但仍然为文档及其元素提供 DOM 接口。此外,解析器还提供了一个 selectFirst(String query) / selectNext(String query) ,它将运行解析器直到找到匹配项,此时解析将暂停。可以通过另一个 select() 调用或通过 stream() iterator() 方法恢复解析。 #2096 (附示例)
  • Download Progress :添加了一个 Response Progress 事件接口,用于报告下载进度和 URL(并解析)。通过 Connection.onResponseProgress() 设置。会话和单个连接级别均受支持。 #2164 #656
  • 添加了 Path accepting parse 方法: Jsoup.parse(Path) Jsoup.parse(path, charsetName, baseUri, parser) 等。 #2055
  • 更新了 button 标签配置,在 Element.text() 方法中的多个按钮元素之间加入了空格。 #2105
  • 在 namespace Selector 中增加了对 ns|* all 元素的支持。 #1811
  • 在序列化过程中规范化属性名称时,无效字符现在将被替换为 _ , 而不是被删除。这将使处理过程更清晰,并且通常可以防止无效属性名称被意外强制转换。 #2143
  • 删除了之前废弃的内部类和方法。 #2094
  • Build change:已构建 jar 的 OSGi 清单不再 imports itself。 #2158
  • Bug 修复

  • 跟踪源位置时,如果第一个节点是 TextNode,则其位置被错误设置为 -1. #2106
  • 当连接(或重定向)到路径中包含诸如 { , } 之类的字符的 URL 时 将引发格式错误的 URL 异常(如果在开发中),或者 URL 可能无法正确转义(如果在生产中)。URL 编码过程已得到改进,可以正确处理这些字符。 #2142
  • 在使用带有自定义输出文档的 W3CDom 时,会引发空指针异常。 #2114
  • 使用同级组合器(例如: h1:has(+h2) )时, :has() 选择器无法正确匹配。# 2137
  • 由于错误的短路, :empty 选择器错误地匹配了以空白文本节点开头、后跟非空节点的元素。# 2130
  • Element.cssSelector() 在为类名中包含 ( [ 的元素构建选择器时,会失败并显示“Did not find balanced marker” 。并且带有这些字符转义的选择器不会按预期匹配。 #2146
  • 更新了 Entities.escape(string) ,使转义文本适用于文本节点和属性(以前仅适用于文本节点)。这不会影响 Element.html() 输出,它会根据是用于文本数据还是引用属性正确应用最小转义。 #1278
  • Fuzz:在规范化 regex 中解析精心设计的 <base href> URL 时可能会发生 Stack Overflow 异常。 #2165
  • 更新公告: https://jsoup.org/news/release-1.18.1

  • jsoup 的详细介绍: 点击查看
  • jsoup 的下载地址: 点击下载
  •