Repolode
jhy

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. 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. 2

    或在 Gradle 构建中添加 jsoup 依赖

    implementation 'org.jsoup:jsoup:1.23.1'
  3. 3

    阅读 cookbook 入门指南并开始解析文档

使用前须知

  • 仅为 Java 库,需要 JVM 和 Java 开发环境。

标签

#java#html-parser#web-scraping#css-selectors#xpath#xss-prevention#dom#html-sanitizer#css#html

常见问题

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 数据每日更新。

相关项目

纯 Go 实现的轻量 XML 库,以元素树形式解析、查询、修改和输出 XML,支持类 XPath 路径查询。

后端与 API#xml#go#xpath
1672+1 本周191GoBSD-2-Clause更新于 上个月