Java无内置爬虫框架,但可用HttpURLConnection、HttpClient配合Jsoup实现简单爬虫;需处理反爬、编码、连接复用等卡点,Jsoup适合静态页面,不支持JS渲染。

Java 本身没有内置的“爬虫框架”,但用 HttpURLConnection 或 Apache HttpClient 配合 Jsoup 就能快速写出稳定、可控的简单爬虫——关键不是“能不能写”,而是别绕开反爬、编码、连接复用这些实际卡点。
用 Jsoup 发起 GET 请求并解析 HTML
这是最轻量也最常用的组合:Jsoup.connect() 底层封装了连接管理,自动处理重定向和基础 User-Agent,适合静态页面抓取。
常见错误:直接 Jsoup.connect("http://example.com").get() 在无网络/超时/403 时抛 IOException 或 HttpStatusException,不加 try-catch 会崩。
- 务必设置超时:
.timeout(5000)(单位毫秒),否则默认无限等待 - 显式声明 User-Agent:
.userAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"),很多站点会拦截默认 UA - 检查响应状态码:
Connection.Response response = Jsoup.connect(...).execute(); if (response.statusCode() == 200) { ... }
Document doc = Jsoup.connect("https://httpbin.org/html")
.userAgent("Mozilla/5.0")
.timeout(5000)
.get();
Elements titles = doc.select("h1");
System.out.println(titles.text());
处理中文乱码与字符集识别
网页










