
node中解决使用request爬取网页编码异常的问题
在node环境中使用request爬取网页,响应的body编码异常,导致打印的结果无法正常显示。代码如下:
const request = require('request');
function getGoods() {
request('https://www.58moto.com/used-car/1470264', (err, res, body) => {
console.log(body)
})
}
getGoods()
登录后复制
浏览器中的响应是正常的,而实际打印的结果却是一串乱码,这是由于响应的body编码异常造成的。
解决方法
为了解决这个问题,可以使用axios库来进行爬取,代码如下:
const axios = require('axios');
async function getGoods() {
const res = await axios.get('https://www.58moto.com/used-car/1470264');
const html = res.data;
console.log(html);
}
getGoods();
登录后复制
使用axios爬取网页时,返回的body已经经过了解码处理,因此打印的结果可以正常显示。
以上就是Node.js爬取网页编码异常如何解决?的详细内容,更多请关注米云其它相关文章!
