nodejs网页编码转译
2019年02月02日

概述

今天爬网页的时候发现获取的信息都是html转码过的,html标记没有编码,中文全部编码了.

解决办法

方法一

  1. 安装he模块
npm i he
  1. 解码
var he = require('he');
var str1 = '♥';
var str2 he.decode(str);
console.log(str2);
// 输出♥ 

方法二

cheerio项目,text()方法,默认会对html进行解码,但是会忽略非文字元素,html()方法默认不会进行解码.可以通过属性decodeEntities禁用编码操作.

var cheerio = require('cheerio');
var content = '...'; //html content
var $ = cheerio.load(content,{decodeEntities: false});
var result = $('body').html();
console.log(result);
// 输出的中文正常显示