Skip to content

Instantly share code, notes, and snippets.

@jonschlinkert
Created January 6, 2021 03:29
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save jonschlinkert/8d4160d278bf075de33c2f8717733664 to your computer and use it in GitHub Desktop.
Save jonschlinkert/8d4160d278bf075de33c2f8717733664 to your computer and use it in GitHub Desktop.
'use strict';
const download = require('download');
/**
* Download all ballots
*/
const dl = async (baseurl, dest) => {
const pending = [];
let finished = 0;
for (let index = 1; index < 1326; index++) {
const promise = download(baseurl.replace(/%n/, index), dest).then(() => {
process.stdout.write(`\rDownloaded ${(++finished).toLocaleString()}`);
pending.splice(pending.indexOf(promise), 1);
});
pending.push(promise);
if (pending.length >= 100) {
await Promise.all(pending);
}
}
};
/**
* Usage
*/
// define the desination directory
const dest = 'replace_with_absolute_path_to_dest_directory';
dl('https://apps.alleghenycounty.us/website/PDF_GEN/GEN%20(%n).pdf', dest)
.then(() => {
console.log('\nDone!');
});
@jonschlinkert
Copy link
Author

  1. Add code to download.js
  2. npm install download
  3. node download.js

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