Jsoup介绍
封面图
•
2025-10-22
•
Java
206
0
0
0
**Jsoup** 是一个用于处理 **HTML** 的 Java 库,它提供了非常方便的 API 来解析、提取和操作 HTML 文档。它的设计灵感来自于 jQuery,因此在使用上非常直观和简洁。 --- ## 🌟 Jsoup 简介 ### 1. **主要功能** - **HTML 解析**:将 HTML 字符串或 URL 转换为可操作的 DOM 结构。 - **CSS 选择器**:支持类似 jQuery 的 CSS 选择器语法来查找元素。 - **数据提取**:从 HTML 中提取特定的数据(如文本、属性等)。 - **HTML 操作**:可以修改 HTML 结构,添加/删除节点,设置属性等。 - **HTML 渲染**:将修改后的 DOM 结构重新渲染为 HTML 字符串。 --- ## 🧰 核心特性 | 特性 | 描述 | |------|------| | **简单易用** | 提供了类似 jQuery 的 API,学习成本低 | | **强大的选择器** | 支持 CSS 选择器、XPath 等多种方式 | | **支持多种输入源** | 可以从字符串、URL、文件中加载 HTML | | **支持 HTML5** | 兼容现代 HTML 标准 | | **支持编码自动识别** | 自动检测 HTML 编码格式 | --- ## 🛠️ 使用示例 ### 示例 1:从 URL 加载 HTML 并提取标题 ```java import org.jsoup.Jsoup; import org.jsoup.nodes.Document; public class JsoupExample { public static void main(String[] args) throws Exception { // 从 URL 获取 HTML Document doc = Jsoup.connect("https://example.com").get(); // 提取页面标题 String title = doc.title(); System.out.println("页面标题: " + title); } } ``` ### 示例 2:使用 CSS 选择器提取所有链接 ```java import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.select.Elements; public class LinkExtractor { public static void main(String[] args) throws Exception { Document doc = Jsoup.connect("https://example.com").get(); Elements links = doc.select("a[href]"); // 所有带有 href 属性的 <a> 标签 for (org.jsoup.nodes.Element link : links) { System.out.println("链接: " + link.attr("href") + " - 文本: " + link.text()); } } } ``` ### 示例 3:修改 HTML 内容并输出 ```java import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; public class ModifyHtml { public static void main(String[] args) { String html = "<html><body><h1>Hello</h1></body></html>"; Document doc = Jsoup.parse(html); // 修改标题 Element h1 = doc.select("h1").first(); h1.text("Welcome to Jsoup!"); // 输出修改后的 HTML System.out.println(doc.html()); } } ``` --- ## 📦 Maven 依赖(如果使用 Maven) ```xml <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.16.1</version> <!-- 注意检查最新版本 --> </dependency> ``` --- ## 📚 常见应用场景 - **网络爬虫**:抓取网页内容并提取所需信息。 - **数据清洗**:清理或转换 HTML 数据。 - **自动化测试**:验证网页结构或内容。 - **生成 HTML 报告**:动态生成 HTML 页面。 --- ## ✅ 优点总结 - 简洁易用 - 功能强大 - 社区活跃,文档齐全 - 非常适合做 HTML 解析与数据提取任务 --- 如果你是刚开始接触 Jsoup,建议从官方文档开始:[https://jsoup.org/](https://jsoup.org/)
上一篇:
jQuery.parseHTML()
下一篇:
解决Jquery向页面append新元素之后事件的绑定问题
标题录入,一次不能超过6条
留言
评论