Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Trying to download all of the images on the website using javascript

I need some help with this script that I'm trying to make that downloads all of the images on a webpage. It downloads the first image just fine, then when Google Chrome tries to download the rest of them, it says "No File". Some help would be greatly appreciated. I run this code by pasting it into the javascript console. Thanks!

var images = document.getElementsByTagName('img');
var srcList = [];
var i = 0;

setInterval(function(){
    if(images.length > i){
        srcList.push(images[i].src);
        var link = document.createElement("a");
        link.id=i;
        link.download = srcList;
        link.href = srcList;
        link.click();
        i++;
    }
},1500);
like image 577
nern9 Avatar asked May 06 '15 22:05

nern9


2 Answers

You’re using an entire array as the src attribute. try:

var images = document.getElementsByTagName('img');
var srcList = [];
var i = 0;

setInterval(function(){
    if(images.length > i){
        srcList.push(images[i].src);
        var link = document.createElement("a");
        link.id=i;
        link.download = images[i].src;
        link.href = images[i].src;
        link.click();
        i++;
    }
},1500);
like image 82
Radio Avatar answered Oct 21 '22 08:10

Radio


Try this simpliest solution:

var images = document.getElementsByTagName('img');
var i = 0;

setInterval(function(){
    if(images.length > i){
        window.open(images[i].src,'_blank');
        i++;
    }
},1000);

If you still have problem with downloading, you can try with iframe. or harder solution with mod_headers method.

like image 22
Garrett Avatar answered Oct 21 '22 08:10

Garrett