使用http模块爬取某个网页
出现����25�˵���<的乱码
查看网页源码的meta
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
解决办法:
安装 iconv-lite 模块 iconv-lite
npm install iconv-lite
代码
//这里使用http请求 对其他模块比如request 和 superagent也适用
const iconv = require('iconv-lite');
const http = require('http');
const cheerio = require('cheerio');
const targetUrl = 'https://xxx'
https.get(targetUrl, (res) => {
let chunks = [];
res.on('data', function(chunk) {
chunks.push(chunk);
});
res.on('end', function(res) {
let _html = iconv.decode(Buffer.concat(chunks),'gb2312');
let $ = cheerio.load(_html);
console.log(_html);
});
}).on('error', function(err) {
console.log(err);
});
乱码问题解决。