
node使用request获取html文本内容编码异常
在node环境中,使用request爬取网页时,可能会遇到响应的body编码异常问题。
具体表现为:浏览器中显示正常的文本,而在node中打印出的却是乱码,如大量“�”字符。
产生此问题的原因是:
- 编码不一致:网页返回的body内容可能是以一种浏览器无法直接识别的编码格式,如GBK,导致node打印乱码。
- 缺少字符集信息:HTTP响应头中可能缺少字符集信息,导致node无法自动识别编码格式。
解决方法:
- 使用合适的编码库:可以尝试使用支持更多编码格式的库,如axios。axios会自动识别并解码响应内容。代码如下:
const axios = require('axios')
function getGoods () {
axios('https://www.58moto.com/used-car/1470264')
.then(res => {
console.log(res.data)
})
}
getGoods()
登录后复制
通过使用axios,无需手动指定编码格式,即可获得正确的解码内容。
以上就是Node.js 请求网页文本内容乱码怎么办?的详细内容,更多请关注米云其它相关文章!
