lazy because it doesn't directly download anything :p
What does this script do?
This script will generate a direct link list of all post in your current search page. You can then copy paste that list in the download manager of you choice (or with wget 🐧). The script will exclude from the list any blacklisted elements.
How do i use this script?
Step 1: Install it
You'll need greasemonkey on firefox or tampermonkey on chrome. Create a new script and copy paste the source code.
Step 2: Do a search
Step 3: Click the button above the search bar
Step 4: Copy paste the list
Tip: click in the square, then ctrl-a ctrl-c
Step 5: Download
With a download manager that support copy paste of multiple links, or wget -i pasted_the_list_here.txt
Source code
// ==UserScript== // @name e621's lazy mass downloader // @namespace e621 // @description e621's lazy mass downloader // @include *e621.net/post/index* // @version 1 // @grant none // @require https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js // ==/UserScript== function isInBlack(tvalue, tarray) { for (j = 0; j < tarray.length; j++) { if (tarray[j] == tvalue) { tarray.splice(j, 1); return [true,tarray]; } } return [false,tarray]; } $(document).ready(function () { $('#post-list .sidebar').prepend('<div style="margin-bottom: 1em;"><button id="downPost">Generate direct links</button></div>'); $('#downPost').click(function () { $('#downPost').after('<p>Generating links...</p>'); var blackID = []; $('.blacklisted').each(function () { var spanID = $(this).attr('id'); spanID = spanID.slice(1); blackID.push(spanID); }); var expr=/https?:\\/\\/e621\\.net\\/post\\/index\\/(\d+)\\/?.*/i; var rege=expr.exec(window.location.href); var page="page="; if(rege==null){ page+=1; }else{ page+=rege[1]; } var tags="tags="; if($('#tags').val()!=""){ tags+=$('#tags').val()+"&"; }else{ tags=""; } $.get('https://e621.net/post/index.json?'+tags+page, function (data, status) { if(status!="success"){ $('#downPost').after('<p>Error '+status+' whille getting '+'https://e621.net/post/index.json?'+tags+page+'</p>'); }else{ $('#post-list').prepend('<textarea id="linkList"></textarea>'); for (i = 0; i < data.length; i++) { var inBlack = isInBlack(data[i].id, blackID); blackID = inBlack[1]; if (!inBlack[0]) { $('#linkList').val($('#linkList').val() + data[i].file_url+'\n'); } } } }); }); });
Known issues
You can't toggle off your blacklist while this script is active.
Updated by Magidog