Java爬虫案例之获取网站图片
最近逛b站,发现导航栏上的背景图有点好看。
于是点击右键另存为,却发现得到的是b站页面的html文件,根本不是图片。原来这张图并不能直接获取到,那么为了得到这张背景图,用Java网络编程我们可以怎么做?
一、运用开发者工具
图虽然没法直接拿到,但好歹也是这个页面元素的一部分嘛,所以我们可以打开开发者工具或者右键检查,得到对应图片的相关信息:
为了从网页上获取到这张图,我们需要获取相关的信息,我们在上张图的基础上点击Headers界面:
有用的信息:
- Request URL: “https://i0.hdslb.com/bfs/archive/ed92db305ae43c7fc8a59b1789934caa2636b876.png”
(这是我们要请求的网址) - Request Method,请求方式为GET
- Http Headers中的 User-Agent、Referer、Host
(这里 Referer: https://www.bilibili.com/,域名即为 Host: www.bilibili.com)
拿到有用的消息之后,我们就可以用在我们的代码上了。
二、代码实现
1、准备:
安装okhttp库,能实现简单快速的http调用:
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.1.0</version>
</dependency>
导包:
// 异常
import java.io.IOException;
// http请求
import okhttp3.Request;
import okhttp3.Call;
import okhttp3.OkHttpClient;
// 文件下载
import java.io.File;
import java.