There have been multiple accounts created with the sole purpose of posting advertisement posts or replies containing unsolicited advertising.

Accounts which solely post advertisements, or persistently post them may be terminated.

bela ,

I just spent a bit too much time making this (it was fun), so don’t even tell me if you’re not going to use it.

You can open up a desired book’s page, start this first script in the console, and then scroll through the book:


<span style="color:#323232;">let imgs = new Set();
</span><span style="color:#323232;">
</span><span style="color:#323232;">function cheese() {    
</span><span style="color:#323232;">  for(let img of document.getElementsByTagName("img")) {
</span><span style="color:#323232;">    if(img.parentElement.parentElement.className == "pageImageDisplay") imgs.add(img.attributes["src"].value);
</span><span style="color:#323232;">  }
</span><span style="color:#323232;">}
</span><span style="color:#323232;">
</span><span style="color:#323232;">setInterval(cheese, 5);
</span>

And once you’re done you may run this script to download each image:


<span style="color:#323232;">function toDataURL(url) {
</span><span style="color:#323232;">  return fetch(url).then((response) => {
</span><span style="color:#323232;">    return response.blob();
</span><span style="color:#323232;">  }).then(blob => {
</span><span style="color:#323232;">    return URL.createObjectURL(blob);
</span><span style="color:#323232;">  });
</span><span style="color:#323232;">}
</span><span style="color:#323232;">
</span><span style="color:#323232;">async function asd() {
</span><span style="color:#323232;">  for(let img of imgs) {
</span><span style="color:#323232;">    const a = document.createElement("a");
</span><span style="color:#323232;">    a.href = await toDataURL(img);
</span><span style="color:#323232;">    let name;
</span><span style="color:#323232;">    for(let thing of img.split("&amp;")) {
</span><span style="color:#323232;">      if(thing.startsWith("pg=")) {
</span><span style="color:#323232;">        name = thing.split("=")[1];
</span><span style="color:#323232;">        console.log(name);
</span><span style="color:#323232;">        break;
</span><span style="color:#323232;">      }
</span><span style="color:#323232;">    }
</span><span style="color:#323232;">    a.download = name;
</span><span style="color:#323232;">    document.body.appendChild(a);
</span><span style="color:#323232;">    a.click();
</span><span style="color:#323232;">    document.body.removeChild(a);
</span><span style="color:#323232;">  }
</span><span style="color:#323232;">}
</span><span style="color:#323232;">
</span><span style="color:#323232;">asd();
</span>

Alternatively you may simply run something like this to get the links:


<span style="color:#323232;">for(let img of imgs) {
</span><span style="color:#323232;">	console.log(img)
</span><span style="color:#323232;">}
</span>

There’s stuff you can tweak of course if it don’t quite work for you. Worked fine on me tests.

If you notice a page missing, you should be able to just scroll back to it and then download again to get everything. The first script just keeps collecting pages till you refresh the site. Which also means you should refresh once you are done downloading, as it eats CPU for breakfast.

Oh and NEVER RUN ANY JAVASCRIPT CODE SOMEONE ON THE INTERNET TELLS YOU TO RUN

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • lifeLocal
  • [email protected]
  • goranko
  • All magazines