DPCデータ:厚労省 公開統計表 => Node.jsで自動ダウンロード(1)

とりあえずの目標は、下記のサイトにある各年度の公開統計表ページのURLを取得すること。

http://www.mhlw.go.jp/stf/seisakunitsuite/bunya/0000049343.html

【gethtml.js】
/ モジュールロード
var http = require('http');
var Iconv = require('iconv').Iconv;

// ダウンロード先URLを指定する
var url = 'http://www.mhlw.go.jp/stf/seisakunitsuite/bunya/0000049343.html';

// ダウンロードする
var req = http.get(url, function (res) {
    
var html='';

    // データを受け取るたびに、文字列を追加
    res.on('data', function (line) {
var iconv = new Iconv('SHIFT-JIS','UTF-8//TRANSLIT//IGNORE');
        var link=iconv.convert(line).toString();
link = link.replace(/[\n\r]/g,"");
html += link;
    });
    // ファイルのダウンロードが終わるとendイベントが呼ばれる

    res.on('end', function () {
var result=html.match(/<a href=.*?<\/a>/g);
for (var i=0;i<result.length;i++){
          var ancha=result[i].match(/<a href=[\'\"](.*?)[\'\"]>(.*?)<\/a>/);
          if (ancha[2].match(/平成.*?年度/)){
            console.log(ancha[1]+','+ancha[2]); 
          }
}
     }); 
});

// 通信エラーなどはここで処理する
req.on('error', function (err) {
    console.log('Error: ', err); return;

});

【実行】node gethtml.js
http://www.mhlw.go.jp/stf/shingi2/0000104146.html,平成26年度
http://www.mhlw.go.jp/stf/shingi/0000056344.html,平成25年度
http://www.mhlw.go.jp/stf/shingi/0000023522.html,平成24年度
http://www.mhlw.go.jp/stf/shingi/2r9852000002hs9l.html,平成23年度
http://www.mhlw.go.jp/stf/shingi/2r9852000001u23a.html,平成22年度
http://www.mhlw.go.jp/shingi/2010/06/s0630-7.html,平成21年度
http://www.mhlw.go.jp/shingi/2009/05/s0514-6.html,平成20年度
http://www.mhlw.go.jp/shingi/2008/05/s0509-3.html,平成19年度
http://www.mhlw.go.jp/shingi/2007/06/s0622-7.html,平成18年度

コメント

このブログの人気の投稿

MongoDB 検索結果をファイルに出力

MongoDB の collection 内の すべての key を取得する

Mongodb で大量データ(390万件弱)をインポートしてみた