在页面抓取前,我们在.xml文件中安装库
依赖库安装
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.1.0</version>
</dependency>
以此安装了okhttp3来实现API的抓取
其次就是代码本体:
我们需要的是API的调用
import java.io.IOException;
import okhttp3.Call;
import okhttp3.OkHttpClient;
import okhttp3.Request;
API调用
public class GetPage {
/**
* 根据输入的url,读取页面内容并返回
*/
public String getContent(String url) {
// okHttpClient 实例
OkHttpClient okHttpClient = new OkHttpClient();
// 定义一个request
Request request = new Request.Builder().url(url).build();
// 使用client去请求
Call call = okHttpClient.newCall(request);
// 返回结果字符串
String result = null;
try {
// 获得返回结果
result = call.execute().body().string();
} catch (IOException e) {
// 抓取异常
System.out.println("request " + url + " error . ");
e.printStackTrace();
}
return result;
}
public static void main(String[] args) {
GetPage getPage = new GetPage();
String url = "https://www.ustc.edu.cn/";
String content = getPage.getContent(url);
System.out.println("call " + url + " , content=" + content);
}
}
使用 Okhttp3
完成页面请求,需要三大步骤:
OkHttpClient
。使用 OkHttpClient okHttpClient = new OkHttpClient();
代码。Request
对象,作用是定义请求的各种参数,Request request = new Request.Builder().url(url).build();
Call call = okHttpClient.newCall(request);
call.execute()
就是执行调用的代码。call.execute()
返回的其实是一个执行的结果对象,调用对象的方法即可获取返回的字符串内容:call.execute().body().string();