node.js - 模块请求如何正确检索重音字符? 👇👇👇

标签 node.js request web-scraping

我正在使用:Module: Request -- Simplified HTTP request method抓取带有重音字符 á é ó ú ê ã 等的网页。

我已经尝试过 encoding: utf-8 没有成功。我仍然在结果中得到这个 ��� 个字符。

request.get({
    uri: url,
    encoding: 'utf-8'
    // ...

有什么配置可以解决吗?

我不知道这是否是一个问题,但我 filled one for this module .还没有答案。 :/

最佳答案

由于二进制文件已被弃用,使用 iconv 并正确处理解码似乎是一个更好的主意:

var request = require("request"), iconv  = require('iconv-lite');
var requestOptions  = { encoding: null, method: "GET", uri: "http://something.com"};

request(requestOptions, function(error, response, body) {
    var utf8String = iconv.decode(new Buffer(body), "ISO-8859-1");
    console.log(utf8String);
});

重要的部分是将HTTP请求上的编码设置为null encoding: null

关于node.js - 模块请求如何正确检索重音字符? 👇👇👇,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8332500/

相关文章:

asp.net - 从 ASP.NET 页面获取请求变量

python-3.x - Beautiful Soup 查找给定属性的所有值,而不指定标签

json - 从 JSON 文件中删除 JSON 对象

来自带有 CONCAT 的两个表的 MYSQL 请求

php - 这些读数对于大约 500 CCU 的应用来说合适吗?

Python Flask 应用程序重复 HTTP 请求

python - Web抓取中的多级标记存在检查-提高python的可读性

python - 检查元素中的 HTML 代码与 html 源代码不同

node.js - Express 中间件 - 添加 promise 拒绝处理程序

javascript - 使用 php 启动和停止 Node.js 的 ExpressJS 应用程序