通过 Chrome 浏览器,获取到需要下载的元素的 url,控制台进行下载。
本次以 https://www.mayiwenku.com/p-17989373.html 该网站为例,下载文档图片
下载函数
控制台上写好下载函数:download,有两个参数,url 下载的地址,filename 保存的文件名称
function download(url, filename) {
var $a = document.createElement('a');
$a.setAttribute("href", url);
$a.setAttribute("download", filename);
var evObj = document.createEvent('MouseEvents');
evObj.initMouseEvent( 'click', true, true, window, 0, 0, 0, 0, 0, false, false, true, false, 0, null);
$a.dispatchEvent(evObj);
}
获取需要下载的对象的 url 等信息
使用 js 选择器,选中所有需要关注的对象,比如本次的 document.querySelectorAll(“.inner_page img”) 选中所有的图片。
控制台运行,下载
Array.prototype.slice.call(document.querySelectorAll(".inner_page img"),90,100).forEach(x=>download(x.src, x.alt+".gif"))
注意
- Chrome 一般会弹出是否允许多个下载,需要点击允许。
- 并发不能太高,上面的我只好切片,防止后续的请求丢失(至于有没有其他办法,没研究)。