一、系统介绍
系统主要功能:本项目爬取的XX招聘网站
二、功能展示
1.需求爬取的网站内容
2.实现流程
爬虫可以分为三个模块:数据采集,数据解析,数据保存
项目结构:
2.1数据采集
数据采集主要是通过HttpClient去请求url,获取网页源码。
(注:除了HttpClient,还可以用HttpUtil,具体使用方式可以百度得到,这里贴出两种工具的使用代码,实现的功能是一样的)
在pom.xml配置相关依赖
HttpClient:
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.9</version>
</dependency>
HttpUtil:
<dependency>
<groupId>net.sourceforge.htmlunit</groupId>
<artifactId>htmlunit</artifactId>
<version>2.27</version>
</dependency>
两种工具看个人喜好选择,本项目选择的是HttpClient.建议使用htmlunit,htmlunit爬内容相对齐全。
HTTPClient与HttpUtil的使用方法
HTTPClient
package com.master.controller;
import org.apache.http.HttpEntity;
import org.apache.http.HttpStatus;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.HttpClientUtils;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import java.io.IOException;
public class HttpClientDownPage {
//设置代理,模范浏览器
private static final String USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36";
public static String sendGet(String url){
//1.生成httpclient,相当于该打开一个浏览器
CloseableHttpClient httpClient = HttpClients.createDefault();
//设置请求和传输超时时间
RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(2000).setConnectTimeout(2000)