📅  最后修改于: 2023-12-03 15:17:05.069000             🧑  作者: Mango
Jsoup是一个Java库,用于解析HTML文档、从中提取数据以及操作HTML元素。它提供了一组简单而强大的API,通过类似于CSS选择器的语法来操作HTML dom。
在本文中,我们将深入介绍如何使用Jsoup的DOM方法来解析HTML文档、选择元素、提取数据以及修改HTML元素。
要使用Jsoup,首先需要将其添加为项目的依赖项。可以通过Maven或者直接下载Jar文件来完成。
Maven依赖:
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.14.3</version>
</dependency>
首先,我们需要将HTML文档加载到Jsoup中,以便后续的操作。可以通过不同的方式来解析HTML文档,例如从URL、字符串、文件或输入流中加载。
Document doc = Jsoup.connect("https://example.com").get();
String html = "<html><head><title>Example</title></head><body><h1>Hello, World!</h1></body></html>";
Document doc = Jsoup.parse(html);
File input = new File("path/to/file.html");
Document doc = Jsoup.parse(input, "UTF-8");
InputStream input = new FileInputStream("path/to/file.html");
Document doc = Jsoup.parse(input, "UTF-8", "https://example.com");
一旦将HTML文档加载到Jsoup中,我们可以使用DOM方法选择元素。使用的语法类似于CSS选择器。
Elements elements = doc.select("div");
Elements elements = doc.select(".className");
Elements elements = doc.select("#idName");
Elements elements = doc.select("[attrName=attrValue]");
Elements elements = doc.select("parent > child");
Elements elements = doc.select("selector1, selector2, selector3");
一旦选择了所需的元素,我们可以使用DOM方法提取数据或者修改元素的属性和内容。
Element element = doc.select("a").first();
String href = element.attr("href");
Element element = doc.select("h1").first();
String text = element.text();
Element element = doc.select("div").first();
String html = element.html();
Element element = doc.select("a").first();
element.attr("href", "https://newlink.com");
Element element = doc.select("h1").first();
element.text("New Heading");
Element element = doc.select("div").first();
element.html("<span>New Content</span>");
如果我们需要遍历选中的元素集合,可以使用迭代器或者for-each循环。
Elements elements = doc.select("div");
Iterator<Element> iterator = elements.iterator();
while (iterator.hasNext()) {
Element element = iterator.next();
// 对元素进行操作
}
Elements elements = doc.select("div");
for (Element element : elements) {
// 对元素进行操作
}
使用Jsoup的DOM方法,我们可以方便地解析HTML文档、选择元素、提取数据以及修改HTML元素。这使得在Java程序中处理HTML变得简单而高效。以上只是Jsoup提供的功能的一部分,你还可以了解更多高级用法,如爬虫和表单提交等。
请查阅Jsoup官方文档以获取更多信息和示例代码。