js 爬虫抓取网页数据( 2015年07月03日09:48:26DOM化)

优采云 发布时间: 2021-12-06 07:17

  js 爬虫抓取网页数据(

2015年07月03日09:48:26DOM化)

  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));

});

  好的~

  当然网上也有很多转换的版本,申请就好

  后记:

  使用爬虫抓取网页数据时,经常用到cheerio模块到最后,和jq一样方便快捷

  (但是有些功能不支持或者改成某种形式,比如jq的jQuery('.myClass').prop('outerHTML'),cheerio就相当于jQuery.html('.myClass'))

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线