cheerioでの日本語出力

cheerioでparseしたデータをhtmlを出力する際には.html()を使うが、デフォルトだと日本語が実体参照文字になってしまう。

.html()の第2引数にdecodeEntities:falseを与えればそのまま出力できる。
こんな感じ。

'use strict';
const fs = require('fs').promises;
const cheerio = require('cheerio');

async function main() {
 const html = await fs.readFile(__dirname + '/../data/original_utf8.html');
 const $ = cheerio.load(html);

 await fs.writeFile(__dirname + '/../data/out.html', $.html($.root(), { decodeEntities: false }));
}

main().then(() => {
 console.log('done');
});

参考サイト


この記事が気に入ったらサポートをしてみませんか?