nodejs使用axios 读取gbk编码乱码转化

nodejs使用axios 读取gbk编码乱码转化

月光魔力鸭

2019-04-15 15:06 阅读 1825 喜欢 7 axios gbk-utf8

在通过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);
    })
})

希望以后能记住..脑子是个好东西,可我这脑子可能不完整.

转载请注明出处: https://chrunlee.cn/article/axios-gbk-utf8.html


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
使用nodejs 连接mysql数据库还是很简单的,有现成的模块可以直接调用。下面介绍下 mysql 的调用
介绍几个日常开发中常用的几个小工具: anywhere / anywhere-auth / watchlessc / changeext
使用nodejs连接ftp,进行ftp的操作,包括列表、上传、下载以及速率等。
跑了一个千库网的自动签到,在windows上测试的时候好好的,图片也没问题,可是放到linux服务器就不行了,总是登录不上不说,图片都不一样
开始入手webpack ,直接看的官方文档和demo,对于自动刷新这部分还是希望通过express 加载插件来控制,但是文档没有提供,经过参考github上其他高玩的套路,最终整理了一个基础的配置版本。
目前了解的有两个模块可以实现二维码的模块,一个是node-qrcode ,这个算是比较大众的,不过环境比较复杂,所以...连看都没看;还有一个是小众的 qr-image ,这个比较简单,没有其他环境依赖,安装即可用,因为要实现一个简单的在线二维码生成,就先用这个试试水了
今天写文章,突然发现自己常用的素材站换成了webp格式的图片.. 可惜本站还没准备加这个支持,所以准备加个webp转jpg的小功能,继续使用啦。
分享一个自动抓取静态站资源的小工具,可以在抓取某个静态站点的时候方便很多,尤其是如果页面比较多的话,会很难受,而且会自动将资源进行归类,如果一个页面一个页面的保存的话,那就比较费劲了。