Chuanzhi electronic textbook preservation

// 获取所有带有 'p' id 的 div 元素
var divElements = document.querySelectorAll('div[id^="p"]');

divElements = Array.from(divElements).filter(function (div) {
    
    
  // 检查 id 后面的部分是否是数字
  var idNumber = div.id.slice(1);
  return !isNaN(idNumber) && idNumber.trim() !== "";
});

function downloadImage(start, end) {
    
    
  // 检查 start 和 end 是否为数字,如果不是,设置为默认值
  if (isNaN(start) || start < 0) {
    
    
    start = 0;
  }
  if (isNaN(end) || end > divElements.length) {
    
    
    end = divElements.length;
  }

  var index = start;

  function downloadNextImage() {
    
    
    if (index < end) {
    
    
      var div = divElements[index];

      // 获取每个 div 元素中的 img 元素
      var imgElement = div.querySelector('img');

      // 检查 imgElement 是否存在
      if (imgElement) {
    
    
        // 创建一个新的 a 标签
        var link = document.createElement("a");

        // 将 href 设置为图片的 src
        link.href = imgElement.src;

        // 设置下载属性,使用 div 元素的 id 作为文件名
        link.download = div.id + '.jpg';

        // 输出保存的过程
        console.log('Saving image ' + (index + 1 - start) + ' of ' + (end - start) + ': ' + link.download);

        // 模拟点击
        link.click();
      } else {
    
    
        console.log('No img element found in div with id ' + div.id);
      }

      index++;
      var delay = Math.floor(Math.random() * 10) + 1;  // 生成 1 到 10 的随机数
      setTimeout(downloadNextImage, delay * 500);
    } else {
    
    
      console.log('Finished saving all images.');
    }
  }

  downloadNextImage();
}

// 开始下载图片
downloadImage(200, 300);  // 下载第 10 到第 20 张图片

Guess you like

Origin blog.csdn.net/weixin_44893902/article/details/131275154