Leave a Comment
Javascript: скачать со странички картинки по маске
Массовая скачивалка картинок со страниц, где такая функция не предусмотрена.
Для кастомизации достаточно изменить внутренности функции getImgsData.
function getImgsData() {
var imgs = [];
document.
querySelectorAll('span[role="rowheader"]').
forEach(function(item){
var name = item.querySelector('a').innerHTML;
imgs.push({src: "[some-prefix-here]/" + name, name: name});
});
return imgs;
}
function download(img) {
var link = document.createElement("a");
link.href = img.src;
link.download = img.name;
link.style.display = "none";
var evt = new MouseEvent("click", {
"view": window,
"bubbles": true,
"cancelable": true
});
document.body.appendChild(link);
link.dispatchEvent(evt);
document.body.removeChild(link);
console.log("Downloading...");
}
/* Download all images in 'imgs'. Could be a function, returning the img array
* Optionaly filter them by extension (e.g. "jpg") and/or
* download the 'limit' first only */
function downloadAll(imgs, ext, limit) {
if (typeof imgs === "function") {
imgs = imgs();
}
/* If specified, filter images by extension */
if (ext) {
ext = "." + ext;
imgs = [].slice.call(imgs).filter(function(img) {
var src = img.src;
return (src && (src.indexOf(ext, src.length - ext.length) !== -1));
});
}
/* Determine the number of images to download */
limit = (limit && (0 <= limit) && (limit <= imgs.length))
? limit : imgs.length;
/* (Try to) download the images */
for (var i = 0; i < limit; i++) {
var img = imgs[i];
console.log("IMG: " + img.name + " (", img.src, ")");
download(img);
}
}
downloadAll(getImgsData, "", -1);
За основу взят этот скрипт - http://stackoverflow.com/questions/19830088/download-multiple-images-at-once-with-javascript
LEAVE A COMMENT
Для отправки комментария вам необходимо авторизоваться.