nodejs爬虫抓取数据之编码问题

 更新时间:2015年07月03日 09:48:26   投稿:hebedich  
这篇文章主要介绍了nodejs爬虫抓取数据之编码问题的相关资料,需要的朋友可以参考下

cheerio DOM化并解析的时候

1.假如使用了 .text()方法,则一般不会有html实体编码的问题出现

2.如果使用了 .html()方法,则很多情况下(多数是非英文的时候)都会出现,这时,可能就需要转义一番了

类似这些 因为需要作数据存储,所有需要转换

复制代码 代码如下:

Халк крушит. Новый способ исполнен

大多数都是&#(x)?\w+的格式

所以就用正则转换一番

var body = ....//这里就是请求后获得的返回数据,或者那些 .html()后获取的

//一般可以先转换为标准unicode格式(有需要就添加:当返回的数据呈现太多\\\u 之类的时)
body=unescape(body.replace(/\\u/g,"%u"));
//再对实体符进行转义
//有x则表示是16进制,$1就是匹配是否有x ,$2就是匹配出的第二个括号捕获到的内容,将$2以对应进制表示转换
body = body.replace(/&#(x)?(\w+);/g,function($,$1,$2){
        return String.fromCharCode(parseInt($2,$1?16:10));
       });

ok ~

当然了,网上也有很多个转换的版本,适用的就行了

后记:

当使用爬虫抓取网页数据时,cheerio模块是经常使用到底,它像jq那样方便快捷

(但有些功能并未支持或者换了某种形式,比如 jq的 jQuery('.myClass').prop('outerHTML') ,cheerio则等价于 jQuery.html('.myClass')http://www.mgenware.com/blog/?p=2514

相关文章

  • nodejs 图片预览和上传的示例代码

    nodejs 图片预览和上传的示例代码

    本篇文章主要介绍了nodejs 图片预览和上传的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Node.js开发静态资源服务器

    Node.js开发静态资源服务器

    这篇文章主要为大家介绍了Node.js开发静态资源服务器示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • 解决await在forEach中不起作用的问题

    解决await在forEach中不起作用的问题

    这篇文章主要介绍了解决await在forEach中不起作用的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • 详解nodejs中express搭建权限管理系统

    详解nodejs中express搭建权限管理系统

    本篇文章主要介绍了详解express搭建权限管理系统,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • NodeJS学习笔记之Connect中间件应用实例

    NodeJS学习笔记之Connect中间件应用实例

    前面我们介绍了几篇内容的connect中间件的基础知识,今天我们来实例应用一下,做个记事本的小应用,希望大家能够喜欢。
    2015-01-01
  • node.js调用C++开发的模块实例

    node.js调用C++开发的模块实例

    这篇文章主要介绍了node.js调用C++开发的模块实例,在node的程序中,如果有大数据量的计算,处理起来比较慢,可以用C++来处理,然后通过回调(callback的形式),返回给node,需要的朋友可以参考下
    2015-07-07
  • Nodejs实现文件上传的示例代码

    Nodejs实现文件上传的示例代码

    这篇文章主要介绍了Nodejs文件上传的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • WebSocket实现简单客服聊天系统

    WebSocket实现简单客服聊天系统

    这篇文章主要为大家详细介绍了WebSocket实现简单客服聊天系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • Windows系统下安装Node.js的步骤图文详解

    Windows系统下安装Node.js的步骤图文详解

    这篇文章主要给大家介绍了Windows系统下Node.js的安装教程,Node.js是用于后端编程的JavaScript框架,文中给出了详细图文介绍,有需要的朋友可以参考下,下面来一起看看吧。
    2016-11-11
  • node.js中的favicon.ico请求问题处理

    node.js中的favicon.ico请求问题处理

    本文记录了在项目中使用node.js请求favican.ico的时候会出现2条请求,浪费资源,经过一番改进,记录下来过程,以后注意。
    2014-12-12

最新评论