一键爬取网页图片js脚本

530 阅读1分钟
// 根据浏览器性能设定,浏览器创建a标签的时间
const create_dom_time = 50;
// 根据浏览器性能设定,浏览器下载每张图片的间隔
const download_time = 500;
// 获取页面的图片
const imgs = document.images;
// 预设一个时间兼容性能不好的浏览器,创建好a标签后n*1000 秒后开始下载
const delay = imgs.length * create_dom_time;
// 图片id前缀
const img_id_prep = "img_"
// 创建a标签,赋予图片对象相关属性,并插入body
const create_a_dom = function (obj) {
    let a = document.createElement("a");
    a.id = obj.id;
    a.target = "_blank";//注意:要在新页面打开
    a.href = obj.url;
    a.download = obj.id;
    document.body.appendChild(a);
}
//创建每个图片对象的对应a标签
for (let i = 0; i < imgs.length;i++){
    create_a_dom({
        id: img_id_prep + i,
        url: imgs[i].src
    });
}
setTimeout(function(){
    for (let i = 0; i < imgs.length; i++) {
    setTimeout( function timer() {
    if (document.getElementById(img_id_prep + i)) {
        //模拟点击触发a标签下载
        document.getElementById(img_id_prep + i).click();
    }
    }, i*download_time );
}
}, delay)