node爬虫爬取中文时乱码问题 | nodejs gb2312、GBK中文乱码解决方法

摘要:
Iconv需要依赖本机库。因此,我们无法在一些不支持本机模块安装的虚拟主机和Windows平台上安全地处理GBK编码。

iconv需要依赖native库,这样一来,在一些不支持native模块安装的虚拟主机和windows平台上,我们还是无法安心处理GBK编码。

老外写了一个通过纯Javascript转换编码的模块 iconv-lite

可以实现window下的转换 ,通过npm可以安装此模块,bufferhelper是一个操作buffer的加强类

首先安装

npm install iconv-lite
npm install bufferhelper
var http = require('http'), 
var url = require('url').parse('http://www.9958.pw/');
var iconv = require('iconv-lite'); 
var BufferHelper = require('bufferhelper');

http.get(url,function(res){
  var bufferHelper = new BufferHelper();
  res.on('data', function (chunk) {
    bufferHelper.concat(chunk);
  });
  res.on('end',function(){ 
    console.log(iconv.decode(bufferHelper.toBuffer(),'GBK'));
  });
})

免责声明:文章转载自《node爬虫爬取中文时乱码问题 | nodejs gb2312、GBK中文乱码解决方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇折线图堆积图关于云计算基础架构IaaS层的几点看法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

js遍历table中的数据,并组装成json

1 functionfore(){ 2 var temp = ""; 3 var tabLen = document.getElementById("tableID"); 4 var jsonT = "{pieTes:["; 5 for(var i = 0; i < tabLen.row...

nodejs生成UID(唯一标识符)——node-uuid模块

unique identifier 惟一标识符 -->> uid 在项目开发中我们常需要给某些数据定义一个唯一标识符,便于寻找,关联。 node-uuid模块很好的提供了这个功能。 https://github.com/kelektiv/node-uuid 使用起来很简单,两种: 1、uuid.v1(); -->基于时间戳生成 (time...

H5读取本地文件

常见的语言比如php、shell等,是如何读取文件的呢? 实际上,大多数语言都需要先获取文件句柄,然后调用文件访问接口,打开文件句柄,读取文件! 那么,HTML5是否也是这样的呢? 答案是肯定的! HTML5为我们提供了一种与本地文件系统交互的标准方式:File Api。 该规范主要定义了以下数据结构: File FileList Blob HTML5...

Html5 移动端 触摸滑动事件

以下代码经过测试  没有问题 且可以循环滑动 <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> <meta name="renderer" content="webkit"> <meta http-equiv="X-UA-C...

查看k8s中etcd数据

1.查看ETCD集群中运行的ETCD pod [root@master1 ~]# kubectl get pod -n kube-system | grep etcd etcd-master1 1/1 Running 0 61m etcd-master2...

驱动硬件Framebuffer驱动程序框架 skeletonfb.c 分析

新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,欢迎批评指正     Framebuffer驱动程序框架 skeletonfb.c 析分     近来想好好研究一下lcd驱动发开程过,lcd驱动发开重要就是framebuffer的编写了,这里只要想做framebuffer驱动的发开可能这里是必经之路,因为这里这个skeletnfb.c是framebu...