java 实现爬虫的方法
Java实现爬虫通常需要使用HttpClient来发送HTTP请求,解析HTML内容,以及处理JavaScript渲染的内容。以下是一个简单的Java爬虫示例,使用了HttpClient和Jsoup库来抓取网页内容。
首先,添加依赖到你的pom.xml
中:
<dependencies>
<!-- jsoup HTML parser library @ https://jsoup.org/ -->
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.13.1</version>
</dependency>
<!-- Apache HttpClient @ https://hc.apache.org/ -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.13</version>
</dependency>
</dependencies>
然后,使用以下代码实现一个简单的Java爬虫:
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
public class SimpleCrawler {
public static void main(String[] args) throws Exception {
HttpClient httpClient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet("http://example.com"); // 替换为你想爬取的网址
HttpResponse response = httpClient.execute(httpGet);
if (response.getStatusLine().getStatusCode() == 200) {
String content = EntityUtils.toString(response.getEntity(), "UTF-8");
Document doc = Jsoup.parse(content);
// 使用doc进行DOM操作,例如获取页面上的某个元素
String title = doc.title();
System.out.println("Title: " + title);
}
httpClient.getConnectionManager().shutdown();
}
}
这个简单的爬虫示例使用了HttpClient来发送HTTP请求,并使用Jsoup来解析HTML内容。你可以根据需要对这段代码进行扩展,比如添加更复杂的爬取逻辑、处理AJAX请求、处理登录认证、爬取动态内容等。
评论已关闭