关于使用 nodejs 抓 Rss 数据以及 Rss 正文的注意事项
注意事项:
1、request 模块的中文编码缺陷:使用 requset 去获取中文 html 的时候,要把 encoding 设置为 null ,然后使用 iconv 或者 iconv-lite 转码,否则会出现乱码
request({ url: feed, timeout: 100000, poll: false, encoding: null }, function (err, res, body) { if (!err && res.statusCode == 200) { var bodyDecode = iconvLite.decode(body, ‘utf-8‘), $ = cheerio.load(bodyDecode, {decodeEntities: false}) } });
2、cheerio 模块加载中文 html 的时候会自动把中文解码为 Unicode,中文全部被转义成 &#xNNNN ,一大坑。使用 load( html ) 的时候要设置为
var $ = cheerio.load(bodyEncoding, {decodeEntities: false});
暂时遇到两个比较难搞的问题,希望大神指点。
相关链接:https://github.com/yeoman/generator/issues/638
本文出自 “zxxxj的技术博客” 博客,请务必保留此出处http://zxxxj.blog.51cto.com/6485028/1567290
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。