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));
});
});