/zoo/ - Zoophilia

Animal Love

Index Catalog Archive Bottom Refresh
Name
Options
Subject
Message

Max message length: 12000

files

Max file size: 32.00 MB

Total max file size: 50.00 MB

Max files: 5

Supported file types: GIF, JPG, PNG, WebM, OGG, and more

E-mail
Password

(used to delete files and posts)

Misc

Remember to follow the Rules

The backup domains are located at 8chan.se and 8chan.cc. TOR access can be found here, or you can access the TOR portal from the clearnet at Redchannit 3.0.

Uncommon Time Winter Stream

Interboard /christmas/ Event has Begun!
Come celebrate Christmas with us here


8chan.moe is a hobby project with no affiliation whatsoever to the administration of any other "8chan" site, past or present.

ATTENTION ALL OREGONIANS LEGAL INFO YOU MUST READ. IF YOU ARE FROM OREGON GTFO ACCORDING TO ORS 167.341 [2015 c.324 §2] YOU ARE MEGA GAY, AND ITS JUST NOT LEGAL TO HAVE MEN SO GAY. YOU MUST LEAVE NOW. IT IS A CLASS A MISDEMEANOR TO REMAIN. LEAVE LAWBREAKER NOW! LOOK DONT ASK ME YOU VOTED FOR THE TOO QUEER FOR INTERNET LAW FAGS YOU DEAL WITH IT. Comics|Books and Stories|Stories|Video Games|Weapons|Furry|Random Bullshit|Retro Vidya

Bulk Download Threads? Animal Enthusiast 08/24/2024 (Sat) 18:25:32 No. 17554
What program could one use to bulk download all the webms and images in a specific thread?
important one: if you want to stop, hit f5, the script doesen't stops :D iportant two: recomended to uncheck the "Always ask you where to save files" in the settings Place the script in the developer console tab var names = Array.from(document.getElementsByClassName("originalNameLink")); names.forEach((name, i) => { setTimeout(() => { console.log(name.download); if (name.download) { const link = document.createElement('a'); link.href = name.href; link.download = name.download; document.body.appendChild(link); link.click(); document.body.removeChild(link); } }, i * 4000); }); var names = Array.from(document.getElementsByClassName("originalNameLink")); names.forEach((name, i) => { setTimeout(() => { console.log(name.download); if (name.download) { const link = document.createElement('a'); link.href = name.href; link.download = name.download; document.body.appendChild(link); link.click(); document.body.removeChild(link); } }, i * 4000); });
>>17563 var names = Array.from(document.getElementsByClassName("originalNameLink")); names.forEach((name, i) => { setTimeout(() => { console.log(name.download); if (name.download) { const link = document.createElement('a'); link.href = name.href; link.download = name.download; document.body.appendChild(link); link.click(); document.body.removeChild(link); } }, i * 4000); }); fck the script just multiplied :D
Hi. No offense, but your code's kinda. I made 2 versions that should work better- one for Tampermonkey(any userscript extension) The second one can just be pasted into the console. If you can think of any ideas or find errors, just reply. I made this code in 15 minutes, so It's not a big deal for me. Console Version I capped it at 4 downloads at once so your browser doesn't explode, but you can tweak that in the concurrentDownloads variable. It's also async now, so no more hanging on one bad file. Files will be named like this: lastURLfragment_originalFileName. Sadly, making folders for each thread with plain JavaScript is impossible without extensions :( Here's the code for the console: 'use strict'; // Function which starts downloading files when elements are loaded const startDownloads = () => { const names = Array.from(document.getElementsByClassName("originalNameLink")); (async () => { const concurrentDownloads = 4; let activeDownloads = 0, nextIndex = 0; const processNext = async () => { if (nextIndex < names.length && activeDownloads < concurrentDownloads) { activeDownloads++; const name = names[nextIndex++]; if (name.download) { const link = Object.assign(document.createElement('a'), { href: name.href, download: document.title + '_' + name.download }); document.body.append(link); link.click(); link.remove(); } console.log(name.download); activeDownloads--; processNext(); } }; for (let i = 0; i < concurrentDownloads && i < names.length; i++) { processNext(); } })(); }; // Check duplicates
[Expand Post]if (document.querySelector('.originalNameLink')) { startDownloads(); // Start immediately if elements are found } else { // Mutation observer const observer = new MutationObserver((mutationsList, observer) => { for (const mutation of mutationsList) { if (mutation.type === 'childList' && mutation.addedNodes.length) { if (document.querySelector('.originalNameLink')) { observer.disconnect(); // Stop observing once elements are found startDownloads(); // Start the downloads break; } } } }); observer.observe(document.body, { childList: true, subtree: true }); } Tampermonkey Version Same deal, but this one auto-installs on any 8chan.moe page. Both versions stop on their own, and you'll need to set your download folder in your browser settings. Script is in the file attached
>>17598 Bro thanks for code. Is it possible to archive whole /zoo with script?


Forms
Delete
Report
Quick Reply