位置: 编程技术 - 正文

nodejs爬虫抓取数据乱码问题总结(nodejs 爬虫)

编辑:rootadmin

推荐整理分享nodejs爬虫抓取数据乱码问题总结(nodejs 爬虫),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:node网络爬虫,node爬取数据,node python 爬虫,nodejs爬取数据,node python 爬虫,node爬取数据,nodejs爬取数据,nodejs 爬虫,内容如对您有帮助,希望把文章链接给更多的朋友!

一、非UTF-8页面处理.

1.背景

windows-编码

比如俄语网站: Windows-(cp)编码与utf-8编码的问题,其他的如 gbk就先不考虑在内了~

2.解决方案

1.

使用js原生编码转换

但是我现在还没找到办法哈..

如果是utf-8转window-还可以 charCodeAt 方法只对 unicode有效,其他编码是如何挖掘出其码段? 因为用的是nodejs 所以考虑使用相应模块

2.

安装使用nodejs模块iconv-lite 使用说明见 使用说明见 之前没仔细看官方说明)

一般简单使用后,还是乱码 形如:п&#;&#;п&#;&#;п&#;&#;п&#;&#;п&#;&#; п&#;&#;п&#;&#;п&#;&#;п&#;&#;п&#;&#;п&#;&#; п&#;&#;п&#;&#;п&#;&#;п&#;&#;п&#;&#;п&#;&#;п&#;&#;п&#;&#;

encoding:binary (默认的encoding是utf-8)

-->另外要说的是,iconv的使用时需要一些环境依赖的,见官方说明: ;

第二需要编译工具的支持(windows下出错最多)

出错类似这种

nodejs爬虫抓取数据乱码问题总结(nodejs 爬虫)

node,如无特定版本或更高版本,默认使用vs编译工具(所以出错提示的解决办法一般为按照vs和framwork sdk2.0)

问题解决方案:

1.安装visual stutio

2.指定vs编译工具版本(如果是vs就是)

(有些时候会自动指定,所有也不一定需要这个命令 npm config set msvs_version --global)

3.如若还是提示找不到 framwork sdk,可将其安装路径添加到系统环境变量path中

(对应sdk4.0版本,类似的 sdj3.5 sdk4.5&#;)

另外要记得的是,环境变量只会读取第一个!

比如你之前已经有了 SDK2.0的路径设到了系统环境变量中,那么你现在再增加设置一个SDK4.0的路径的时候,起作用的只有第一个

所以:

要么把之前那个删了

要么把想添加的路径放到那个前面

二、gzip页面处理

有时候我们发现浏览器访问页面是正常的,但是模拟请求回来就乱码了,可以查看一下浏览器请求的Response信息,如果有Content-Encoding:gzip,极有可能是因为页面被gzip压缩了,这时请求时需要添加如下参数

gzip:true

以上所述就是本文的全部内容了,希望大家能够喜欢。

nodejs爬虫抓取数据之编码问题 cheerioDOM化并解析的时候1.假如使用了.text()方法,则一般不会有html实体编码的问题出现2.如果使用了.html()方法,则很多情况下(多数是非英文的时候)都

node.js调用C++开发的模块实例 如何用C++和node交互,在node的程序中,如果有大数据量的计算,处理起来比较慢,可以用C++来处理,然后通过回调(callback的形式),返回给node。先回顾

node.js中格式化数字增加千位符的几种方法 每三位以逗号分隔的处理方式正则方式:"".split("").reverse().join("").replace(/(d{3})/g,"$1,").split("").reverse().join("");"".split("").reverse().join("").replace(/(

本文链接地址:https://www.jiuchutong.com/biancheng/377966.html 转载请保留说明!

上一篇:使用DNode实现php和nodejs之间通信的简单实例(php操作dom)

下一篇:nodejs爬虫抓取数据之编码问题(nodejs爬取数据)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络