开源 HTML 解析工具包 jsoup 1.3.1 发布

  • 崔康

2010 年 8 月 26 日

话题:Java开源GitHubDevOps语言 & 开发架构

jsoup 是一款开源的 HTML 解析工具包,采用 Java 语言编写,通过精巧的 API 充分利用 DOM、CSS 和类 jquery 的方法抽取和操作数据。最近,jsoup 1.3.1 正式发布,对上一版(1.2.3)做了重要更新,包括完成自主实现(无外部依赖)、改进 Web 连接方法等。

随着 Web 应用的不断发展,开发人员有时需要通过 HTML 解析功能实现客户需求。读者朋友可能对老牌HTML Parser Java 库比较熟悉。其实,jsoup 也是为了方便开发人员实现 HTML 解析而刚刚诞生(2010 年初发起)的一款工具包。jsoup 的主要功能包括:

  • 解析,通过 URL、文件或者字符串来分析 HTML 文档。
  • 查找,通过 DOM 遍历或者 CSS 选择器来寻找和抽取数据。
  • 操作,处理 HTML 元素、属性和文本。
  • 检查,通过白名单机制来保护 HTML 内容的安全。

jsoup 1.3.1 的主要更新包括:

  • 完成了自主实现,在之前的版本中,jsoup 依赖于 Apache Commons-Lang 的一些方法,如 HTML 内容解析等。在新版中,这些方法完全自主实现,不再需要外部依赖。一方面减少 JVM 的内存消耗,另一方面有助于开发人员入门。
  • 改进 Web 连接方法,jsoup 现在支持一种方便的 connection 接口,即 Jsoup.connect(String url)。这种方法允许开发人员快捷地创建 HTTP 请求,包括指定用户代理、cookie、超时等等。方法的返回值可以直接被解析成 Document。示例代码如下:
Document doc = Jsoup.connect("http://example.com")

  .data("query", "Java")

  .userAgent("Mozilla")

  .cookie("auth", "token")

  .timeout(3000)

  .post();  
  • 增加了一些便捷方法,如 Element.ownText()、Document.OutputSettings.prettyPrint(boolean) 等。
  • 改进了文档解析的性能
  • 修补了一些 Bug

感兴趣的读者朋友可以下载jsoup 试用,查看其使用手册文档说明。jsoup 采用MIT协议开源,目前在 GitHub 上进行开发和维护,喜欢深究的朋友可以在此查看源代码

Java开源GitHubDevOps语言 & 开发架构