📅  最后修改于: 2023-12-03 14:43:35.125000             🧑  作者: Mango
Jsoup 是一款 Java 的 HTML 解析器,可以帮助你从 HTML 页面中提取数据、操作 DOM 等。本文将介绍如何使用 Jsoup 移除 HTML 中的元素。
在开始本文之前,需要先掌握以下技能:
示例 HTML:
<html>
<head>
<title>Example</title>
</head>
<body>
<div class="container">
<p>这是一个段落。</p>
<a href="https://www.example.com">这是一个链接</a>
<img src="https://www.example.com/image.png" />
</div>
</body>
</html>
如果我们想要移除 HTML 中的所有链接,可以使用如下代码:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
public class Main {
public static void main(String[] args) {
String html = "<html>...</html>";
Document doc = Jsoup.parse(html);
Elements links = doc.select("a");
links.remove();
System.out.println(doc.toString());
}
}
输出结果:
<html>
<head>
<title>Example</title>
</head>
<body>
<div class="container">
<p>这是一个段落。</p>
<img src="https://www.example.com/image.png" />
</div>
</body>
</html>
这里我们使用了 Jsoup 的 select
方法来选择所有的 a
元素,然后使用 remove
方法将其移除。最后输出修改后的 HTML。
如果我们想要移除所有 class
为 container
的元素,可以使用如下代码:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
public class Main {
public static void main(String[] args) {
String html = "<html>...</html>";
Document doc = Jsoup.parse(html);
Elements containers = doc.select(".container");
containers.remove();
System.out.println(doc.toString());
}
}
输出结果:
<html>
<head>
<title>Example</title>
</head>
<body>
<p>这是一个段落。</p>
<a href="https://www.example.com">这是一个链接</a>
<img src="https://www.example.com/image.png" />
</body>
</html>
这里我们使用了 .container
选择器来选择所有 class
为 container
的元素,然后使用 remove
方法将其移除。
如果我们想要移除所有带有 href
属性的元素,可以使用如下代码:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
public class Main {
public static void main(String[] args) {
String html = "<html>...</html>";
Document doc = Jsoup.parse(html);
Elements elementsWithHref = doc.select("[href]");
elementsWithHref.remove();
System.out.println(doc.toString());
}
}
输出结果:
<html>
<head>
<title>Example</title>
</head>
<body>
<div class="container">
<p>这是一个段落。</p>
<img src="https://www.example.com/image.png" />
</div>
</body>
</html>
这里我们使用了带有属性选择器 [attribute]
来选择所有带有 href
属性的元素,然后使用 remove
方法将其移除。
本文介绍了如何使用 Jsoup 移除 HTML 中的元素。Jsoup 还有更多功能,可以帮助你处理 HTML、XML 等文本格式。如果你需要从文本中提取数据、操作 DOM,Jsoup 是一个不错的选择。