node.js 画像取得
// モジュールの読み込み
var client = require('cheerio-httpcli');
var request = require('request');
var fs = require('fs');
var URL = require('url');
// ダウンロード先URLを作る
var savedir = __dirname + "/img";
if (!fs.existsSync(savedir)) {
fs.mkdirSync(savedir);
}
// html ファイルの設定
var url = "取得先URL"; // 取得先URLを入れる
var param = {};
// htmlファイルの取得
client.fetch(url, param, function(err, $, res) {
if(err) {console.log("Error"); return; }
// リンクを抽出して表示
$("img").each(function(idx){
var src = $(this).attr('src');
// 相対パスを絶対パスに変換
src = URL.resolve(url, src);
// 保存先用のファイル名を作成
var fname = URL.parse(src).pathname;
fname = savedir + "/" + fname.replace(/[^a-zA-Z0-9\.]+/g, '_');
// ダウンロード
request(src).pipe(fs.createWriteStream(fname));
});
});