今天难得想玩玩node,结果卡在了第一步。我本来打算跟着视频做一个node爬虫获取网页图片的,结果在测试有没有成功获取网页的时候,发现我的终端一大堆乱码。如图所示:
这是我的代码部分:
const axios = require("axios")
const chreeio = require('cheerio')
const fs = require('fs')
getWebData()
async function getWebData(){
try {
const res = await axios.get('https://juejin.cn/?utm_source=gold_browser_extension')
console.log(res);
} catch (error) {
console.log(error);
}
}
这个乱码还挺特别,不是全部都乱码,而是请求的网页中data数据乱码,这自然就排除了vscode配置的问题(菜鸡我还找了半天vscode配置的茬),请求用到了axios,所以axios非常有嫌疑!!!
于是我猜想可能会是axios版本太高了,于是我就降低axios为1.0版,发现问题真的解决了!!!
data部分不再乱码。后来我去github上找到axios的issues,发现有很多人遇到了和我一样的问题
真的好坑呀,一直以来各种类型的版本问题弄得我心累,对于我这种菜鸡来说真的太不友好了,希望能够帮助到你!