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 上进行开发和维护,喜欢深究的朋友可以在此查看源代码。




