今天在用axios做爬虫的时候,请求到了一个使用gbk编码的前端页面,控制台中文直接乱码,我人也麻了
解决
看了文档,了解到了axios请求默认是用utf8,这里我们只要修改一下这个就行了
先安装下必要的工具
npm install iconv-lite --save
import axios from "axios"
import iconv from 'iconv-lite'
(async () => {
const res = await axios({
method: 'get',
url: 'http://www.xxx.com/',
responseType: "arraybuffer"
})
var result = iconv.decode(res.data, 'gbk');
console.log(result)
})()
这里我们将response的内容转为arraybuffer,再用iconv将buffer内容解析为文本