js 爬虫抓取网页数据(这篇文章主要介绍了的相关资料,DOM化并解析)
优采云 发布时间: 2021-11-20 07:03js 爬虫抓取网页数据(这篇文章主要介绍了的相关资料,DOM化并解析)
本文文章主要介绍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'))
以上就是nodejs爬虫爬取数据编码问题的详细内容。更多信息请关注其他相关html中文网站文章!