java获取某个网页所有图片并下载到电脑

Python011

java获取某个网页所有图片并下载到电脑,第1张

我不晓得你的图片指的是背景图还是只包含img标签内的,其实区别不大

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图片,第二个为我本地下载位置,下载结果如图