以下是一个简单的 Java 爬虫入门示例,这里使用Jsoup
库来抓取网页内容。Jsoup
是一个用于处理 HTML 的 Java 库,它可以很方便地从 URL 加载 HTML 文档,并对其进行解析和操作。
步骤 1:添加 Jsoup 依赖
如果你使用的是 Maven 项目,在pom.xml
文件中添加以下依赖:
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.16.1</version>
</dependency>
如果你使用的是 Gradle 项目,在build.gradle
文件中添加以下依赖:
implementation 'org.jsoup:jsoup:1.16.1'
步骤 2:编写 Java 代码
以下是一个简单的 Java 爬虫示例,用于抓取百度首页的标题:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import java.io.IOException;
public class SimpleWebCrawler {
public static void main(String[] args) {
// 要抓取的网页 URL
String url = "https://www.baidu.com";
try {
// 使用 Jsoup 连接到指定 URL 并获取 HTML 文档
Document doc = Jsoup.connect(url).get();
// 获取网页标题
String title = doc.title();
System.out.println("网页标题: " + title);
// 获取网页的第一个链接元素
Element firstLink = doc.select("a").first();
if (firstLink != null) {
String linkText = firstLink.text();
String linkHref = firstLink.attr("href");
System.out.println("第一个链接文本: " + linkText);
System.out.println("第一个链接地址: " + linkHref);
}
} catch (IOException e) {
// 处理网络请求异常
System.err.println("抓取网页时发生错误: " + e.getMessage());
}
}
}
代码解释
- 导入必要的类:导入
Jsoup
库中的相关类,用于连接 URL、获取 HTML 文档和操作 HTML 元素。 - 指定要抓取的 URL:定义要抓取的网页的 URL。
- 连接到 URL 并获取 HTML 文档:使用
Jsoup.connect(url).get()
方法连接到指定 URL 并获取 HTML 文档。 - 获取网页标题:使用
doc.title()
方法获取网页的标题。 - 获取网页的第一个链接元素:使用
doc.select("a").first()
方法选择网页中的第一个链接元素,并获取其文本和链接地址。 - 处理异常:使用
try-catch
块捕获可能的网络请求异常,并打印错误信息。
注意事项
- 在实际使用中,要遵守网站的
robots.txt
规则,避免过度请求对网站造成负担。 - 有些网站可能会有反爬虫机制,如 IP 封禁、验证码等,需要进行相应的处理。