类 jQuery 语法的 HTML/XML 解析与操作库,可用于服务端和浏览器。
jhy/jsoup
一个 Java HTML 解析库,用于抓取、解析、编辑和清理真实世界中的 HTML 与 XML。
- Star
- 11,411
- Fork
- 2,319
- 未关闭 Issue
- 6
- 最近提交
- 前天
这是什么?
jsoup 是一个用于处理网页中 HTML 和 XML 的 Java 库。它可以从 URL、文件或字符串中获取并解析页面,生成符合 WHATWG HTML5 规范的 DOM 树,结构与现代浏览器一致。即使是不规范的“tag soup”式标记,也能被解析成合理的树形结构。
解析完成后,可以使用 DOM 遍历、CSS 选择器或 XPath 定位数据,并读取或修改元素、属性和文本,还能输出整洁的 HTML。对于用户提交的内容,它提供基于白名单的清理器,过滤不允许的标签和属性,帮助防范 XSS 攻击。
项目通过 jar 包以及 Maven、Gradle 分发,采用 MIT 许可证。在 Android 项目中使用时,需要开启 core library desugaring 以支持 Java 8+ 特性。
核心功能
- 01可从 URL、文件或字符串解析 HTML 和 XML,生成与浏览器兼容的 DOM。
- 02支持使用 CSS 选择器、DOM 遍历或 XPath 查找元素。
- 03可修改元素、属性和文本,并输出整洁的 HTML。
- 04基于白名单清理不可信的 HTML,降低 XSS 风险。
- 05能够解析格式不规范的真实网页标记而不报错。
适用场景
- 在 Java 后端或批处理任务中抓取网页数据。
- 在存储或渲染前清理用户提交的富文本内容。
- 以编程方式编辑或改写 HTML 模板与生成内容。
- 在测试或工具中从 HTML 文档提取链接、标题或元数据。
快速上手
- 1
在 Maven 构建中添加 jsoup 依赖
<dependency> <!-- jsoup HTML parser library @ https://jsoup.org/ --> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.23.2</version> </dependency> - 2
或在 Gradle 构建中添加 jsoup 依赖
implementation 'org.jsoup:jsoup:1.23.1' - 3
阅读 cookbook 入门指南并开始解析文档
使用前须知
- 仅为 Java 库,需要 JVM 和 Java 开发环境。
标签
常见问题
- jsoup 是什么?
- 一个 Java HTML 解析库,用于抓取、解析、编辑和清理真实世界中的 HTML 与 XML。 jsoup 是一个用于处理网页中 HTML 和 XML 的 Java 库。它可以从 URL、文件或字符串中获取并解析页面,生成符合 WHATWG HTML5 规范的 DOM 树,结构与现代浏览器一致。即使是不规范的“tag soup”式标记,也能被解析成合理的树形结构。
- jsoup 可以免费使用吗?用的什么许可证?
- jsoup 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- jsoup 还在维护吗?
- 活跃维护中。jsoup 最近一次提交是在 2026年11月4日。
- jsoup 适合用来做什么?
- 在 Java 后端或批处理任务中抓取网页数据。 在存储或渲染前清理用户提交的富文本内容。 以编程方式编辑或改写 HTML 模板与生成内容。 在测试或工具中从 HTML 文档提取链接、标题或元数据。
- jsoup 怎么安装和运行?
- 在 Maven 构建中添加 jsoup 依赖: <dependency> <!-- jsoup HTML parser library @ https://jsoup.org/ --> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.23.2</version> </dependency> 或在 Gradle 构建中添加 jsoup 依赖: implementation 'org.jsoup:jsoup:1.23.1' 阅读 cookbook 入门指南并开始解析文档
- 在哪里获取 jsoup?
- 源代码和安装说明在 GitHub 上:https://github.com/jhy/jsoup
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
3.1万1746TypeScriptMIT维护活跃更新于 昨天
纯 JavaScript 实现的 WHATWG DOM 与 HTML 标准,可在 Node.js 中运行无头 DOM 环境。
2.2万+8 本周1821JavaScriptMIT更新于 19小时前
将 HTML 字符串转换为 React 元素的解析库,可在 Node.js 与浏览器中使用。
2431144TypeScriptMIT维护活跃更新于 昨天
一个将声明式组件编译为高效 JavaScript、精准更新 DOM 的前端编译器。
8.9万+107 本周6787JavaScriptMIT更新于 17小时前
一个约 4kB 的快速 React 替代库,保留相同的现代组件 API,基于 Virtual DOM。
3.9万+18 本周3171JavaScriptMIT维护活跃更新于 18小时前