避坑!axios获取网页数据打印出来乱码

385 阅读1分钟

今天难得想玩玩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,发现有很多人遇到了和我一样的问题

 真的好坑呀,一直以来各种类型的版本问题弄得我心累,对于我这种菜鸡来说真的太不友好了,希望能够帮助到你!