gpt4 book ai didi

Node.JS 抓取编码?

转载 作者:IT老高 更新时间:2023-10-28 23:08:55 28 4
gpt4 key购买 nike

我正在获取 this pagethis request library在 Node.JS 中,并使用 cheerio 解析正文.

在解析后的响应正文上调用 $.html() 显示页面的标题属性是:

<title>Le Relais de l'Entrec?te</title>

...应该是什么时候:

<title>Le Relais de l'Entrecôte</title>

我尝试将请求库的选项设置为包含 encoding: 'utf8',但这似乎没有任何改变。

如何保留这些字符?

最佳答案

您可以使用 iconv (或更好的 iconv-lite )用于转换本身,但要检测编码,您应该查看 charsetjschardet模块。下面是它们的一个例子:

var charset = require('charset'),
jschardet = require('jschardet'),
Iconv = require('iconv').Iconv;

request.get({url: 'http://www.example.com', encoding: 'binary'}, function(err, res, body) {
var enc = charset(res.headers, body) || jschardet.detect(body).encoding.toLowerCase();

if(enc !== 'utf8') {
var iconv = new Iconv(enc, 'UTF-8//TRANSLIT//IGNORE');
body = iconv.convert(new Buffer(body, 'binary')).toString('utf8');
}

console.log(body);
});

关于Node.JS 抓取编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12326688/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com