java如何操作网页
使用 Selenium 操作网页
Selenium 是一个自动化测试工具,可以模拟用户操作浏览器。需要先下载对应浏览器的驱动(如 ChromeDriver)。
// 引入 Selenium 相关库
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class SeleniumExample {
public static void main(String[] args) {
// 设置驱动路径
System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");
// 创建 Chrome 浏览器实例
WebDriver driver = new ChromeDriver();
// 打开网页
driver.get("https://www.example.com");
// 关闭浏览器
driver.quit();
}
}
使用 Jsoup 解析网页
Jsoup 是一个 HTML 解析库,可以方便地从网页中提取数据。
// 引入 Jsoup 相关库
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
public class JsoupExample {
public static void main(String[] args) throws Exception {
// 获取网页内容
Document doc = Jsoup.connect("https://www.example.com").get();
// 获取标题
String title = doc.title();
System.out.println("Title: " + title);
// 获取所有链接
Elements links = doc.select("a[href]");
for (Element link : links) {
System.out.println("Link: " + link.attr("href"));
}
}
}
使用 HttpClient 发送 HTTP 请求
HttpClient 是 Java 内置的 HTTP 客户端库,可以用来发送 HTTP 请求并获取响应。
// 引入 HttpClient 相关库
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class HttpClientExample {
public static void main(String[] args) throws Exception {
// 创建 HttpClient 实例
HttpClient client = HttpClient.newHttpClient();
// 创建 HTTP 请求
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://www.example.com"))
.build();
// 发送请求并获取响应
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
// 打印响应内容
System.out.println(response.body());
}
}
使用 HTMLUnit 模拟浏览器
HTMLUnit 是一个无界面的浏览器模拟工具,可以执行 JavaScript 并处理动态内容。

// 引入 HTMLUnit 相关库
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
public class HtmlUnitExample {
public static void main(String[] args) throws Exception {
// 创建 WebClient 实例
WebClient client = new WebClient();
// 获取网页
HtmlPage page = client.getPage("https://www.example.com");
// 获取页面内容
System.out.println(page.asXml());
// 关闭客户端
client.close();
}
}
注意事项
- 使用 Selenium 或 HTMLUnit 时,确保已下载并配置正确的浏览器驱动。
- 处理动态网页时,可能需要等待元素加载完成,可以使用显式等待或隐式等待。
- 对于需要登录的网页,可能需要处理 Cookie 或 Session。
- 频繁访问同一网站时,注意遵守网站的 robots.txt 协议,避免被封禁。






