如何下载网站目录的一些图片


How to download some images of a website directory

例如,我想下载ID为663500到665000的图像:

从这个http://geo.static.traxsource.com/files/images/663500_large.jpg来http://geo.static.traxsource.com/files/images/665000_large.jpg

我该怎么做?

我为你写了一个小脚本。这样每秒钟就有一个新文件被下载。

var url = "http://geo.static.traxsource.com/files/images/{num}_large.jpg";
var startnum = 663500;
var endnum = 665000;
var interval = 1 * 1000; //in MS
function downloadNext(num) {
  if (num < endnum) {
    setTimeout(function() {
      downloadNext(num + 1);
    }, interval)
  }
  var downUrl = url.replace("{num}", num);
  aDownload(downUrl, num + "_large.jpg");
}
downloadNext(startnum);
//CREDITS TO: http://stackoverflow.com/questions/9900289/initiate-downloads-with-a-javascript-function
function aDownload(url, name) {
  // Original code from https://github.com/eligrey/FileSaver.js
  // Rewrited to work without blobs
  // Will return true if worked
  var click, save_link, event;
  save_link = document.createElementNS("http://www.w3.org/1999/xhtml", "a")
  if (!("download" in save_link)) return false; // a[download] not supported on this browser
  save_link.href = url;
  save_link.download = name;
  event = document.createEvent("MouseEvents");
  event.initMouseEvent(
    "click", true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null
  );
  return save_link.dispatchEvent(event); // false if event was cancelled
}

// using JSZip to save a bunch of stuff
var zip = new JSZip
var from = 663500
var to = 663510
// requires cors headers...
var corsProxy = 'https://crossorigin.me/'
var src = corsProxy + 'http://geo.static.traxsource.com/files/images/'
// append a bunch of file we want to download
for (; from < to; from++) {
  let name = from + '_large.jpg'
  let url = src + name
  zip.file(name, fetch(url).then(res => res.blob()))
}
// generate the zip content
zip.generateAsync({
  type: 'blob'
})
// download using FileSaver.js
.then(blob => saveAs(blob, 'example.zip'))
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.3/FileSaver.min.js"></script>