📅  最后修改于: 2023-12-03 15:02:26.368000             🧑  作者: Mango
Jsoup 是一个用于解析 HTML 文档的 Java 库。它提供了一种简单、灵活、强大的方式来处理 HTML 文件,并且还支持 DOM 遍历和操作、CSS 选择器、以及基于 URL 的输入(比如从网站抓取 HTML 数据)。在使用 Jsoup 进行 HTML 解析时,需要进行一定的环境设置。
本文将介绍如何进行 Jsoup 的环境设置。
在项目中引入 Jsoup 库。可以从 Maven 中央仓库中获取最新版本的 Jsoup。
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.14.1</version>
</dependency>
使用下面的代码块作为入门例子。它加载了一个 HTML 文件,并使用 Jsoup 解析了该文件:
import java.io.File;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
public class Main {
public static void main(String[] args) throws IOException {
File input = new File("input.html");
Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/");
System.out.println(doc);
}
}
如果你的应用程序需要使用代理进行网络请求,可以通过设置 java.net.useSystemProxies
和 http.proxyHost
/ http.proxyPort
环境变量来配置 Jsoup 的代理。下面的代码片段展示了如何进行代理配置:
System.setProperty("java.net.useSystemProxies", "true");
System.setProperty("http.proxyHost", "proxy.example.com");
System.setProperty("http.proxyPort", "8080");
有些网站可能会拒绝某些 User-Agent 的请求。此时可以通过设置 User-Agent 来欺骗服务器,让服务器认为请求是由浏览器发起的。
Document doc = Jsoup.connect("http://example.com/")
.userAgent("Mozilla/5.0 (Windows NT 10.0; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0")
.get();
有些网站使用的是自签名或不受信任的 SSL 证书,此时可以通过设置 relaxedHTTPSValidation
来忽略证书校验。
Document doc = Jsoup.connect("https://example.com/")
.relaxedHTTPSValidation()
.get();
下面的代码片段展示了如何设置 Jsoup 的超时时间:
Document doc = Jsoup.connect("http://example.com/")
.timeout(10 * 1000)
.get();
以上就是 Jsoup 环境设置的常用步骤。通过合理的配置,可以让 Jsoup 更好地适应应用程序需求,从而实现更为高效和精准的 HTML 解析功能。