Skip to content

Instantly share code, notes, and snippets.

@acxer
Forked from kfatehi/hb_all_books_dl.js
Created January 2, 2018 16:17
Show Gist options
  • Select an option

  • Save acxer/066a038968979b03cecc4d0cfa8969a0 to your computer and use it in GitHub Desktop.

Select an option

Save acxer/066a038968979b03cecc4d0cfa8969a0 to your computer and use it in GitHub Desktop.
Humble bundle book bundles - download all books at once
/*
After purchasing a humble book bundle, go to your download page for that bundle.
Open a console window for the page and paste in the below javascript
this fork downloads all formats and does so without using jquery (since that didnt work for me)
note that if you are in chrome, chrome will not download the pdfs for you by default, to fix this
type “about:plugins” in the address bar and disable chrome's pdf viewer
*/
var pattern = /(MOBI|EPUB|PDF)$/i;
var nodes = document.getElementsByTagName('a');
for (i in nodes) {
var a = nodes[i];
if (a && a.text && pattern.test(a.text.trim())) {
download(a.attributes['data-web'].value, i);
}
}
function download(url, i) {
var iframe = document.createElement('iframe');
iframe.id = "dl_iframe_" + i;
iframe.style.display = "none";
document.getElementsByTagName('body')[0].appendChild(iframe);
iframe.src = url;
console.log('iframe set to', url)
}
@acxer
Copy link
Author

acxer commented Jan 2, 2018

Fix error by substituting line
download(a.attributes['data-web'].value, i);

with
download(a.attributes['href'].value, i);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment