1、首先 一个urlConnection,链接到你想要的网址,得到response的inputStream,
2、把返回的response当做一个xml解析(推荐使用jsoup,更方便一些),得到所有的img标签,遍历标签的src,下载得到所有的图片,这边需要注意下 有些网站可能会使用防盗链,低级的你完全可以用cookie糊弄过去,高级的就不太好搞了。需要你改一些request中的属性例如Referer之类的,再蛋疼的就需要拿到返回的二级制文件,然后本地重绘了。。。。
3、如果背景图什么的也要的话 ,拿到页面中的css文件,得到所有的图片链接,重复第二部的操作。。。。
URL url = new URL("图片地址")File outFile = new File(“图片保存到本地路径”)
OutputStream os = new FileOutputStream(outFile)
InputStream is = url.openStream()
byte[] buff = new byte[1024]
while(true) {
int readed = is.read(buff)
if(readed == -1) {
break
}
byte[] temp = new byte[readed]
System.arraycopy(buff, 0, temp, 0, readed)
os.write(temp)
}
is.close()
os.close()
楼上的写的没错,不过感觉太麻烦了,用hutool工具包来写个方法
HttpUtil.downloadFile("https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png", new File("F://demo4/baidu_logo.png"))
第一个参数为百度logo图片,第二个为我本地下载位置,下载结果如图