URL一括ダウンロード
"use strict";
const fs = require("fs");
const url = require("url");
const request = require("request"); // dependency
const throat = require("throat"); // dependency
const list = fs.readFileSync("list.txt");
Promise.all(list.map(throat(5, uri => dl(uri).then(() => {
console.log("DONE! " + uri);
}, err => {
console.log(err);
console.log("ERROR! " + uri);
throw err;
}))))
.then(() => {
console.log("done!");
})
.catch(err => {
console.error(err);
});
function dl(uri) {
const filename = url.parse(uri).pathname.replace(/.*\//, "");
return new Promise((resolve, reject) => {
request(uri)
.pipe(fs.createWriteStream("images/" + filename))
.on("close", resolve)
.on("error", reject);
});
}