nodejs爬取网页乱码解决方法
var req = https.request(options, function (res) {res.setEncoding('utf-8');res.on('data', function (chunk) {var buf = iconv.decode(chunk, 'utf-8').toString(); //解码stockStr += buf;// stockStr += chunk;});res.on('end', function (chunk) {console.log('so', stockStr)const stocksArr = stockStr.split('group_id": "');var groupIds = [];for (var i = 1; i < stocksArr.length; i++) {groupIds.push(stocksArr[i].split('", "middle')[0]);}if (groupIds.length > 0) {groupIds.map((item, i) => {console.log('item', item)// comment(item); // 评论// praise(item);})}});})
上面这段代码在请求有些网站的时候会出现乱码,并且需要npm install iconv
因为有些文章返回的格式为gzip;可以尝试下面的代码
var req = https.request(options, function (res) {var html = '', output;if (res.headers['content-encoding'] == 'gzip') {var gzip = zlib.createGunzip();res.pipe(gzip);output = gzip;} else {output = res;}output.on('data', (data) => {data = data.toString('utf-8');html += data;});output.on('end', () => {html = unescape(html.replace(/\\u/g, "%u")); // 将unicode编码转中文console.log(html);const stocksArr = html.split('group_id": "');var groupIds = [];for (var i = 1; i < stocksArr.length; i++) {groupIds.push(stocksArr[i].split('", "middle')[0]);}if (groupIds.length > 0) {groupIds.map((item, i) => {// comment(item); // 评论// praise(item);})}})})
上面这个需要安装zlib依赖包,npm install zlib ;运行结果如下:
nodejs爬取网页乱码解决方法相关推荐
- requests.get()爬去中文网页乱码解决方法
requests.get()爬去中文网页乱码解决方法 当我们使用requests.get()爬取百度首页时会发现,返回的html代码中的中文发生乱码. import requestsheaders = ...
- Python使用request包请求网页乱码解决方法
使用requests请求网页时,返回的页面信息有时是乱码,如下代码 headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) Appl ...
- Python网络爬虫爬淘宝无法爬取问题的解决方法
看了嵩天教授的[Python网络爬虫与信息提取].MOOC. 北京理工大学 课程,里面有一段演示如何从淘宝爬取价格信息,但实际操作却不行,问题在于淘宝19年开始实行搜索必须登录,但是Python爬 ...
- firefox英文网页乱码解决方法
问题描述:英文网页使用firefox及ie打开,均显示乱码. 问题解决: 1.使网页在ie中正常打开 ie浏览器,工具->Internet选项->常规->语言->语言首选项设为 ...
- python爬取网页公开数据_如何用Python爬取网页数据
使用Python爬取网页数据的方法: 一.利用webbrowser.open()打开一个网站:>>> import webbrowser >>> webbrowse ...
- Python爬虫:Xpath爬取网页信息(附代码)
Python爬虫:Xpath爬取网页信息(附代码) 上一次分享了使用Python简单爬取网页信息的方法.但是仅仅对于单一网页的信息爬取一般无法满足我们的数据需求.对于一般的数据需求,我们通常需要从一个 ...
- python爬取网页代码-python爬虫爬取网页所有数据详细教程
Python爬虫可通过查找一个或多个域的所有 URL 从 Web 收集数据.Python 有几个流行的网络爬虫库和框架.大家熟知的就是python爬取网页数据,对于没有编程技术的普通人来说,怎么才能快 ...
- python爬虫爬取网页新闻标题-看完保证你会
python爬虫爬取网页新闻标题方法 1.首先使用浏览自带的工具--检查,查找网页新闻标题对应的元素位置,这里查到的新闻标题是在 h3 标签中 2.然后使用编辑器编写python代码 2.1方法一: ...
- 爬取网页中文乱码的问题
基本知识 计算机只能处理数字,所以将一个数字对应一个符号,所以不同的数字对应不同符号的方式有不同为不同编码方式. ASCII码 :英文字符和二进制数字之间的关系.一个符号为一个字节(byte),一个字 ...
最新文章
- 线上分享会预告之深度学习在3D场景中的应用
- 可以打游戏的计算机,还在用笔记本玩游戏?台式机才能给你极致享受
- vscode 使用ssh密钥登录远程Linux -- vscode remote linux ssh key
- Python语言学习:python编程之pip命令集合、python调式、头部代码、代码运行等常见概念详细攻略(解决问题为导向)
- 【Qt学习笔记】7.对话框Dialog
- HDOJ 2227 HDU 2227 Find the nondecreasing subsequences ACM 2227 IN HDU
- pip install 包的安装位置
- makefile 的export问题
- 2014年考研英语二作文PartB图表题
- haproxy安装配置及haproxy+keepalived简单配置
- 如何修改服务器标题,修改DEDECMS网页TITLE标签的方法
- 一步一步写算法(之字符串查找 上篇)
- selenium+python自动化测试系列(二):AutoIt工具实现本地文件上传
- 登录 java_登录Java
- 极简代码(一) —— class label 的统计计数
- 红外光通信装置数字部分思路点睛 2013年国赛f题
- Pytorch:目标检测网络-人体关键点检测
- 计算机科学与技术U盘,速度竟差9倍!6款32GB USB3.0优盘横评
- spring retry, guava retrying 的整合-sisyphus java 重试框架
- 互联网短信网关接口协议