LoginSignup
1
0

More than 5 years have passed since last update.

chererio-httpcliを使いつつ、文字コードをshift_jisでファイルを保存する

Posted at

開発環境

  • node.js 7.3.0
  • cheerio-httpcli 0.6.11
  • iconv-lite 0.4.17

chererio-httpcliを使うと簡単にスクレイピング出来てしかもjQueryの書き方が出来るので楽なのですが、読み込んだファイルの中身を問答無用にUTF-8に変換してしまいます。(本来はありがたい機能です)
しかし、htmlをダウンロードする場合、そのhtmlのcharsetがUTF-8以外の場合、ダウンロードしたファイルをブラウザで確認すれば文字化けしてしまいます。よってファイル書き込み時は工夫が必要です。


var client = require('cheerio-httpcli');
var fs = require('fs');
var iconv = require('iconv-lite');
var savepath = ""; //適当なパス
var url = ""; //utf-8以外を指定しているhtml

client.fetch(url, {}, function(err, $, res){

    //略

 fs.writeFileSync(savepath, iconv.encode($.html(), 'shift_jis'));

}

以上で可能でした。試してませんが、shift_jis以外でもいける・・・かも

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0