
[Java爬虫HttpClient_Demo2模拟浏览器并抓取Web图片]
发布日期:2021-05-07 05:58:39
浏览次数:24
分类:精选文章
本文共 2126 字,大约阅读时间需要 7 分钟。
项目托管平台: 码云地址:
本程序依赖Maven_Jarorg.apache.httpcomponents httpclient 4.5.3 net.sourceforge.htmlcleaner htmlcleaner 2.9 commons-io commons-io 2.5
public static void main(String[] args) throws IOException {// 模拟出真实的HTTP交互并获取图片,请用文本编辑器打开/** 1.设置请求对象 User-Agnet httpGet.setHeader("User-Agent",* "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0"* );* * 2.获取响应内容类型 Content-Type HttpEntity entity = respond.getEntity();* System.out.println(entity.getContentType().getValue());* * 3.获取响应状态码 Status** 200:正常 403:拒绝 500:服务器报错 400:未找到页面* * CloseableHttpResponse respond = httpclient.execute(httpGet);* System.out.println(respond.getStatusLine().getStatusCode());** 4.复制资源: commons io 2.5 _Jar : 复制网络中的资源* **/// 访问网址final String URL = "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1510654808536&di=957d74f32cf5983dfe1b5448a145038a&imgtype=0&src=http%3A%2F%2Fwww.people.com.cn%2Fmediafile%2Fpic%2F20160812%2F56%2F6695386280472753768.jpg";// 创建可关闭的HttpClient实例对象(新版本才可以)相当于创建了一个模拟浏览器CloseableHttpClient httpclient = HttpClients.createDefault();// 一般爬虫请求都用Get,Get请求在HTTP请求协议里代表安全的查看:这个请求对象里可以添加http的请求头等HttpGet httpGet = new HttpGet(URL);// 设置Get请求头的 User-Agent (模拟代理浏览器信息)httpGet.setHeader("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0");// 用浏览器模拟对象httpClient,发送一个Get请求:可以通过这个响应对象获得很多http的响应信息CloseableHttpResponse respond = httpclient.execute(httpGet);// 获得状态码System.out.println(respond.getStatusLine().getStatusCode());// 获取返回的网页实体HttpEntity entity = respond.getEntity();if (entity != null) {// 获取响应内容类型System.out.println(entity.getContentType().getValue());// 读取地址InputStream content = entity.getContent();// 创建copy对象,创建写入地址并重命名资源;(用的是Commons io的方法读写)FileUtils.copyToFile(content, new File("E://spider_depot//ssdfsd.jpg"));}// 获取网页实体对象转换为字符串,并指定最终编码/* String entitystr = EntityUtils.toString(entity, "utf-8"); *//* System.out.println(entitystr); */// 关闭流资源httpclient.close();// 关闭流资源respond.close();}
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年03月21日 02时23分02秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
云计算之路-阿里云上:0:25~0:40网络存储故障造成网站不能正常访问
2021-05-09
网站故障公告1:使用阿里云RDS之后一个让人欲哭无泪的下午
2021-05-09
上周热点回顾(6.3-6.9)
2021-05-09
上周热点回顾(8.12-8.18)
2021-05-09
【故障公告】升级阿里云 RDS SQL Server 实例故障经过
2021-05-09
蹒跚来迟:新版博客后台上线公测
2021-05-09
上周热点回顾(9.16-9.22)
2021-05-09
上周热点回顾(11.4-11.10)
2021-05-09
[网站公告]11月26日00:00-04:00阿里云RDS升级
2021-05-09
[网站公告]又拍云API故障造成图片无法上传(已恢复)
2021-05-09
上周热点回顾(12.16-12.22)
2021-05-09
云计算之路-阿里云上:“黑色30秒”走了,“黑色1秒”来了,真相也许大白了
2021-05-09
云计算之路-阿里云上:奇怪的CPU 100%问题
2021-05-09
云计算之路-阿里云上:2014年6月12日12点IIS请求到达量突降
2021-05-09
上周热点回顾(6.9-6.15)
2021-05-09
上周热点回顾(6.16-6.22)
2021-05-09
上周热点回顾(10.20-10.26)
2021-05-09
上周热点回顾(2.16-2.22)
2021-05-09
上周热点回顾(3.2-3.8)
2021-05-09
.NET跨平台之旅:借助ASP.NET 5 Beta5的新特性显示CLR与操作系统信息
2021-05-09