环境准备:
JDK
IntelliJ IDEA
IDEA自带的Maven
一、New Module, 建立一个Maven工程
二、在pom.xml中添加依赖:
org.slf4j
slf4j-log4j12
1.7.25
test
三、在resources包中创建日志文件:log4j.properties并在日志文件中添加代码:
log4j.rootLogger=DEBUG,A1log4j.logger.cn.itcast = DEBUG
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH??ss,SSS} [%t] [%c]-[%p] %m%n
四、在sre/main/java包中新建一个Java包,在新建的Java包中新建一个class文件
五、class文件中导包(IDEA自带功能,直接输入代码系统自动导包):
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;import org.apache.http.util.EntityUtils;
六、最后来说说主函数中的内容
public static void main(String[] args) throws Exception{
}
获取网页数据的基本思路是:
1. 打开浏览器
2. 输入网址
3. 按回车,发起请求,返回相应
4. 解析相应,获取数据
用代码来实现的话:
//httpClient提供了创建HttpClient对象的方法HttpClients.createDefault()
CloseableHttpClient httpClient = HttpClients.createDefault();
//接下来发起get请求创建HttpGet对象(uri地址选择百度首页):
HttpGet httpGet = new HttpGet(uri:“https://www.baidu.com”);
//发起请求,返回相应:
CloseableHttpResponse response = httpClient.execute(httpGet);
//判断相应中的状态码是否为200,即是否正确返回相应:
if (response.getStatusLine().getStatusCode() == 200) {
//拿到响应体:
HttpEntity httpEntity = response.getEntity();
//解析响应体,”utf-8”为网页编码:
String content = EntityUtils.toString(httpEntity, "utf-8");
//最后把结果输出到控制台:
System.out.println(content);
}
输出结果如下: