Node.js:ネット巡回に必要な日本語コード変換

前回、簡単にHTMLファイルをダウロードしましたが、今回は日本語のエンコーディングがSHIFT-JISのページをUTF-8に変換して標準出力に出す方法を紹介します。

まず、追加する必要があるモジュールは node-iconv です。インストールは簡単です。


npm install iconv --save

【サンプルプログラム」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) {
    res.on('data', function (html) {
var iconv = new Iconv('SHIFT-JIS','UTF-8//TRANSLIT//IGNORE');
console.log(iconv.convert(html).toString());
    });

    // ファイルのダウンロードが終わるとendイベントが呼ばれる
    res.on('end', function () {
        console.log('finished!!!');
    }); 
});

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

【プログラム実行】node gethtml.js

コメント

このブログの人気の投稿

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

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

Spotfire からMongoDBのデータを分析する(DPC公開データをサンプルに)