在通过axios读取页面的时候,经常会碰到gbk的编码,如果不进行转化的话,在获取信息或读取上都会很麻烦。
通过 iconv-lite
来进行转化。
这个其实很通用,网上也有很多,不过自己水平比较低,各种都不会处理,最终各种查资料终于处理,这里记录下,后续再爬取页面的时候,就好找啦。
let axios = require('axios');
let iconv = require('iconv-lite');
axiox({
url : 'xxxxx/gbk.html',
responseType : 'stream' //将数据转化为流返回
})
.then(res=>{
//此时的res.data 则为stream
let chunks = [];
res.data.on('data',chunk=>{
chunks.push(chunk);
});
res.data.on('end',()=>{
let buffer = Buffer.concat(chunks);
//通过iconv来进行转化。
let str = iconv.decode(buffer,'gbk');
console.log(str);
})
})
希望以后能记住..脑子是个好东西,可我这脑子可能不完整.