刚入坑node 写第二个node爬虫时,遇到了这个坑,记录一下。

主要步骤:

1.安装iconv-lite 输入npm install iconv-lite

2.将接收到的网页源码以二进制的方式存储下来,处理二进制数据流使用Buffer全局对象。

3. 然后对这些二进制的数据调用对应的解码程序。iconv-lite模块用于解码。

全部代码:

var http=require('https');
var fs=require('fs');
var cheerio=require('cheerio');
var iconv=require('iconv-lite');//iconv-lite模块用于解码
var request=require('request'); var url='https://search.51job.com/list/030200,000000,0000,00,9,99,web%25E5%2589%258D%25E7%25AB%25AF,2,1.html?lang=c&stype=&postchannel=0000&workyear=99&cotype=99&degreefrom=99&jobterm=99&companysize=99&providesalary=99&lonlat=0%2C0&radius=-1&ord_field=0&confirmdate=9&fromType=&dibiaoid=0&address=&line=&specialarea=00&from=&welfare='; function goStart(url){
http.get(url,function(res){
var htmlData=[];//用于接收获取到的网页
var htmlDataLength=0;
//res.setEncoding('utf-8');
res.on('data',function(chunk){
htmlData.push(chunk);
htmlDataLength+=chunk.length;
}) res.on('end',function(){
//数据获取完毕后,开始解码
var bufferHtmlData=Buffer.concat(htmlData,htmlDataLength);
var decodeHtmlData=iconv.decode(bufferHtmlData,'gbk');
var $=cheerio.load(decodeHtmlData,{decodeEntities: false}); $('#resultList .el').each(function(index,item){
if(index!=0){
var name=$(this).children().eq(1).children().eq(0).text();
console.log(name);
}
})
})
})
} goStart(url);

运行结果(屏幕有点小,图截的不全)

教程参考地址:https://blog.csdn.net/javajiawei/article/details/65935338?utm_source=tuicool&utm_medium=referral

node爬虫gbk中文乱码问题的更多相关文章

  1. 解决node里面的中文乱码

    今天咋学习node的时候,跟着视频里在撸代码,但是却出现了中文乱码的情况,视频中的谷歌浏览器可能和我的版本不一致,先看代码吧: 'use strict'; const http = require(& ...

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

    iconv需要依赖native库,这样一来,在一些不支持native模块安装的虚拟主机和windows平台上,我们还是无法安心处理GBK编码. 老外写了一个通过纯Javascript转换编码的模块 i ...

  3. utf8 文件 错误保存为gbk 中文乱码 解决方法

    用zend studio  将utf-8 格式的文件 保存为 gbk 了,之后无论怎么装换 中文都是乱码 用 beyond compare(文件比较工具 对编码支持的比较强大) 打开,改下编码,中文就 ...

  4. sublime解决gbk中文乱码包括Package Control: Install Package 无法使用

    最近喜欢上了sublime,打算抛弃notepad,但是发现sublime居然不支持gbk编码,再上网查找资料之后,总结了一套解决方法,目前为止是行之有效的. 日期:2019年3月14日 第一步:到G ...

  5. Python的经典问题——中文乱码

    关键字:Python UTF-8 GBK 中文 乱码 估计入门时都会遇到的.我是在windows下用的Python25自带的IDLE编辑运行的,发现运行脚本得出的结果有一些中文显示是乱码,但有一些是正 ...

  6. node爬虫之gbk网页中文乱码解决方案

    之前在用 node 做爬虫时碰到的中文乱码问题一直没有解决,今天整理下备忘.(PS:网上一些解决方案都已经不行了) 中文乱码具体是指用 node 请求 gbk 编码的网页,无法正确获取网页中的中文(需 ...

  7. node.js 爬虫中文乱码 处理

    爬虫中文乱码可做如下处理 import request from 'superagent'; import cheerio from 'cheerio';//类似jquery写法 const Icon ...

  8. python爬虫中文乱码解决方法

    python爬虫中文乱码 前几天用python来爬取全国行政区划编码的时候,遇到了中文乱码的问题,折腾了一会儿,才解决.现特记录一下,方便以后查看. 我是用python的requests和bs4库来实 ...

  9. node转发请求 .csv格式文件下载 中文乱码问题 + 文件上传笔记

    用户无法直接访问后台接口 需要node端转发请求 并将数据以.csv文件格式生成以供客户端下载. 很不幸出现了中文乱码的问题 挖了各种坟帖,下了各种依赖包,csv.json2csv.bufferHel ...

随机推荐

  1. 使用Kotlin&Anko, 扔掉XML开发Android应用

    尝鲜使用Kotlin写了一段时间Android.说大幅度的减少了Java代码一点不夸张.用Java的时候动不动就new一个OnClickListener()匿名类,动不动就类型转换的地方都可以省下很多 ...

  2. (暴力 记录)Camellia的难题 -- zzuli -- 1784

    http://acm.zzuli.edu.cn/problem.php?id=1784 Camellia的难题 Time Limit: 2 Sec  Memory Limit: 128 MBSubmi ...

  3. thrift学习总结

    thrift 重要的几个组件有 :数据类型,transport,protocol,versioning,processor 1.数据类型 thrift的数据类型有1.一些原生类型,比如string,i ...

  4. U盘或者移动银盘退出时一直显示占用中问题解决--最粗暴解决方式

    问题描述: ---------------------------弹出 USB 大容量存储设备 时出问题---------------------------Windows 无法停用“通用卷”设备,原 ...

  5. lca tarjin

    这个算法  我个人认为是  遍历每一个点把它当成一些询问的最近祖先 1 2 3 4 5 6 low是并差集,vis是是否访问过,访问过为true,没有为false: 假设询问是(4,4),(4,5), ...

  6. python_列表、元组、字典、集合对比

    列表.元组.字典.集合 列表.元组.字典.集合对比 比较项 列表 元组 字典 集合 类型名称 list tuple dict set 定界符 [] () {} {} 是否可变 是 否 是 是 是否有序 ...

  7. bootstrap3相关文档

    ,每列分配多列 <divclass="container"> <div class="row"> <div class=" ...

  8. http://vjudge.net/contest/view.action?cid=51142#problem/C 精度转换的一道题。。。

    C - Get-Together at Den's Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & ...

  9. Junit测试时,如何截获到Console的输出

    RT: 参考如下Junit 测试代码: 注释部分 import java.io.ByteArrayOutputStream; import java.io.PrintStream; import st ...

  10. 如何把jar包发布到maven私服

    1.格式 mvn deploy:deploy-file -DgroupId=com.qiyi -DartifactId=sphinx -Dversion=1.0 -Dpackaging=jar -Df ...