Скачать все изображения с любого сайта через консоль JS
Нужно что бы была возможность зайти на любой сайт, открыть консоль, затем ввести туда код и скачать все картинки возможно архивом или как либо ещё. Я пробовал такой вариант кода, но вместо скачивания происходит отдельное открытие картинки в новой вкладке.
function saveUrlAsFile(url, fileName) {
var link = document.createElement("a");
link.setAttribute("href", url);
link.setAttribute("download", fileName);
link.click();
}
let images = [].slice.call(document.querySelectorAll('img'))
let counter = 1
images.map(el => saveUrlAsFile(el.src, counter++))
Ответы (1 шт):
Автор решения: Опан
→ Ссылка
let images = document.querySelectorAll('img');
let link = document.createElement('a');
for(i = 0; i < images.length; i ++){
fetch(images[i].src)
.then(response => response.blob())
.then(blob => {
link.href = URL.createObjectURL(blob);
link.download = new Date().getTime();
link.click();
}
)
}
Правда, с помощью переменной i не получается давать уникальные имена скачиваемых картинок, т к в них фигурирует всё время одно и тоже число, равное количеству картинок. Поэтому я решил, что лучше будет в качестве имени файлов использовать количество милисекунд, прошедших с Нового 1970 Года. Потом их можно будет переименовать.