【Nodejs】axios + cheerio + iconv-lite 解决GBK编码格式的网页中文乱码问题

本文由花朝网原创首发,授权转载请以链接形式注明出处,本文唯一永久链接:http://www.huazhaox.com/article/44
const axios = require('axios')
const cheerio = require('cheerio')
const iconv = require('iconv-lite')

const axiosRes = await axios.get(url, {
	responseType: 'arraybuffer',
	responseEncoding: 'binary',
	headers: {'accept': 'text/html'}
})

const $ = cheerio.load(iconv.decode(axiosRes.data, 'GBK'), {decodeEntities: false})

console.log($('body').html())  //中文不再乱码
0 条评论
请不要发布违法违规有害信息,如发现请及时举报或反馈
还没有人评论呢,速度抢占沙发!
相关文章
  • 网页在提测流转给 QA 后,如何能帮他们更有效而准确的完成测试,是我一直在思考的一个问题。   QA 他们会对网页编写测试用例,在提测之前会让我们将优先级最高的用例跑通,这在一定程度上能够避免频繁的返...

  • 简单来说就是 axios 以流的形式请求文件 URL ,然后将数据流传给 oss.putStream 方法:const stream = require('stream') const axios =...

  • //中间件import jwt from "jsonwebtoken"; import {resultFail} from "../common/utils"; import {SECRET} fro...

  • 概述写这篇blog的原因,想找个node的ORM框架用用,确很难找到一篇对比分析这些ORM框架的文章,唯一找到了一篇,居然是通过star数来论英雄,我觉着很难服众,于是就找几个看看。后来又不想分析,因...

  • 欢迎关注公众号:TestingStudio,学习更多测试开发必备技能 问题 部分web网站无法只通过植入cookie进行登录 原因 现在很多的前端鉴权逻辑不止写入在cooki...

  • dom更新到底在javascript事件循环的哪个阶段?「前端每日一题v22.11.17」昨天写了一篇文章,是javascript的事件循环机制,然后在某乎上也发了,在发的时候看到了一个问题,dom渲...

  • Express 快速创建 Web 服务器 express 的基本使用 先安装express包 npm i express@4.17.1 1.导入 express const express = re...

  • 前言消息队列是存储数据的一个中间件,可以理解为一个容器。生产者生产消息投递 到队列中,消费者可以拉取消息进行消费,如果消费者目前没有消费的打算,则消息队列会保留消息,直到消费者有消费的打算。设计思路生...

  • 这个 axios 拦截器我一直在用,从自己项目中简化后专心拷出来的,需要的朋友可以参考下,公司项目也是这个,有问题或者有更好的代码欢迎评论区提出来讨论!const axios = require('a...

  • nodejs是单线程执行的,同时它又是基于事件驱动的非阻塞IO编程模型。这就使得我们不用等待异步操作结果返回,就可以继续往下执行代码。当异步事件触发之后,就会通知主线程,主线程执行相应事件的回调。以上...

  • Renode 是一个开发框架,通过让你模拟物理硬件系统来加速物联网和嵌入式系统开发。 Renode 可以模拟 Cortex-M、RISC-V 等微控制器,不仅可以模拟 CPU指令,还可以模拟外设,甚至...

  • node.js 初探Node.js 是一个 JS 的服务端运行环境,简单的来说,它是在 JS 语言规范的基础上,封装了一些服务端的运行时对象,让我们能够简单实现非常多的业务功能。如果我们只使用 JS ...

  • 读取文件夹fs.readdirSync('./')判断文件类型fs.statSync(item).isDirectory()路径拼接path.resolve(dir, item)封装function ...

  • jwt是json web token的简称,本文介绍它的原理,最后后端用nodejs自己实现如何为客户端生成令牌token和校验token1.为什么需要会话管理我们用nodejs为前端或者其他服务提供...

  • 先上Code,再来细细分析。1.安装js-yaml modulenpm install js-yaml2.在VUE中引入const json2yaml = require('js-yaml');3.将...

  • 大家好,我卡颂。22年11月14日,Deno发布了v1.28,距离他第一个稳定版本v1.0.0发布(2020年5月13日)已过去2年。作为Node.js的竞争者,Deno似乎并没有达到取代前者的目标。...

  • 欢迎来的我的小院,恭喜你今天又要涨知识了! 案例内容 利用JavaScript实现文字逐步展现的动画效果。 演示 学习 小院里的霍大侠 ...

  • Node.js 有哪些特性?在应用构建的时候有哪些注意事项?入门同学如何实现技术进阶?本期大咖说,阿里云高级技术专家朴灵携作品《深入浅出 Node.js》展开分享。https://www.youku....

  • 进程:process模块process 模块是 nodejs 提供给开发者用来和当前进程交互的工具,它的提供了很多实用的 API。从文档出发,管中窥豹,进一步认识和学习 process 模块:如何处理...

  • 要成为一名优秀的 Web 开发人员,最快的方法就是练习。一个很好的练习方法是尽可能多地构建初学者项目。那是因为每个项目都会提出一个独特的问题和解决方案,因此您解决的项目越多,您获得的知识就越多。将您完...