「JavaScript」- 从页面中,提取图片

  CREATED BY JENKINSBOT

问题描述

在页面中,包含我们需要的图片。

但是,图片数量巨多,我们无法依次右键保存。

该笔记将记录:如何批量下载网页中的图片。

解决方案

问题的解决方案有很多,我们无法一一列举,本文仅仅记录我们采用的方法。

在浏览器控制台中,执行如下 JavaScript 代码:

list = ""
$x("//img[contains(@data-src, 'http')]").forEach(function (item, idx) {
    imageType = item.getAttribute("data-type")
    imageLink = item.getAttribute("data-src")
    list = list + "wget -O " + idx + "." + imageType + " " + imageLink + "\n"
})
console.log(list)

执行如上代码,将生成 wget 下载链接,类似如下:

...
wget -O 81.jpeg https://mmbiz.qpic.cn/sz_mmbiz_jpg/pUm6Hxkd435PzG5tgPApm9hic9aNPXP5J2cDGyQ07IctgudX4WjiaicuOzcP4yHsDGI8Z7MUY2D8iajCeMG0DJM5pw/640?wx_fmt=jpeg
wget -O 82.jpeg https://mmbiz.qpic.cn/sz_mmbiz_jpg/pUm6Hxkd435PzG5tgPApm9hic9aNPXP5JQCRX1pjZj9l8xNrWm9dNSPmicmTsiciaMu2YZewmfjkH2HiaQmCpibdjPHA/640?wx_fmt=jpeg
wget -O 83.jpeg https://mmbiz.qpic.cn/sz_mmbiz_jpg/pUm6Hxkd435PzG5tgPApm9hic9aNPXP5J8g3ZTovp4joJ7QbqP92sFhko2I8jaBicEcictpdvsA4wMoEbafqktbvQ/640?wx_fmt=jpeg
wget -O 84.png https://mmbiz.qpic.cn/sz_mmbiz_png/pUm6Hxkd435PzG5tgPApm9hic9aNPXP5JOd2slUKZCzUTu90BhfU7aTiagKrCvTRc2rA8Khibibj6ch0ibXHfRK8ewg/640?wx_fmt=png
wget -O 85.jpeg https://mmbiz.qpic.cn/sz_mmbiz_jpg/pUm6Hxkd435PzG5tgPApm9hic9aNPXP5Jwq2goiap3OGnMxant5CUTGXtT1Dcf8cSQ8NNU1BbnJYeSXy2yeSwGsw/640?wx_fmt=jpeg
wget -O 86.jpeg https://mmbiz.qpic.cn/mmbiz_jpg/K0TMNq37VN0jeHsTlPKiaucY0XZLxgMcicNcr0xBRcIEvZKbuicxLib9YnaLWZ6UEyRG7XDV0OZgjQ16sBxovZiap5g/640?wx_fmt=jpeg
...

最后,在 Shell 中,执行如上命令下载图片。

参考文献

JavaScript Array forEach() Method