概述
一,简介
通常静态网页时,我只用jsoup.jar包进行爬虫,简单可以获取网页的所有信息
/**
* 根据url获取Document对象
* @param url 小说章节url
* @return Document对象
*/
public static Document getDocument(String url){
Document doc = null;
try {
doc = Jsoup.connect(url).timeout(5000).get();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return doc;
}
二,特殊情况
有一些网页在获取信息时,使用Jsoup.jar爬虫,获取信息不完整,
那么现在只能使用apache的包,这样就可以获取到cookie和设置相应的cookie
还有设置访问的模式(例如我想使用的是手机的访问模式)
网页:"https://m.kayege.com/book/52194/504.html"(这个手机获取和pc端获取就不一样了)
设置:setHeader(...) -------------设置头部获取情况
可以查看Chorme中的network
如图
代码
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 class Test1 {
public static void main(String[] args) {
try {
CloseableHttpClient httpClient=HttpClients.createDefault(); // 创建httpClient实例
HttpGet httpGet=new HttpGet("https://m.kayege.com/book/52194/504.html"); // 创建httpget实例
httpGet.setHeader("user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Mobile Safari/537.36"); // 设置请求头消息User-Agent
CloseableHttpResponse response=httpClient.execute(httpGet); // 执行http get请求
HttpEntity entity=response.getEntity(); // 获取返回实体
System.out.println("网页内容:"+EntityUtils.toString(entity, "utf-8")); // 获取网页内容
response.close(); // response关闭
httpClient.close(); // httpClient关闭
}catch (Exception e) {
e.printStackTrace();
}
}
}
所用的包
最后
以上就是大胆未来为你收集整理的Java爬虫---httpClient连接的全部内容,希望文章能够帮你解决Java爬虫---httpClient连接所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复