急救,在线等,node superagent爬虫,爬出来的数据是uniCode格式的怎么办
发布于 8 年前 作者 duzitengg 5138 次浏览 来自 问答

QQ截图20161228092509.png

代码如下: const schedule = require(“node-schedule”); const charset = require(‘superagent-charset’); const superagent = charset(require(‘superagent’)); const cheerio = require(“cheerio”); const iconv = require(“iconv-lite”); const async = require(“async”);

function details(url) { let content = []; for(let i=0;i<url.length;i++){ superagent.get(url[i]).end(function (err, sres) { if (err) { console.log(“打印错误日志:” + err); return next(err); } let $ = cheerio.load(sres.text); $(’#NIE-art .artText’).each(function (idx, element) { let $element = $(element); let article=$element.html(); // let article = new Buffer($element.html(), ‘binary’); // let text = new iconv.decode(article, “utf-8”, {defaultEncoding : “WINDOWS-1251”}); let text=iconv.decode(article,‘utf-8’); console.log(text); }); }); }

}

如图,改怎么转码啊!

10 回复

用cheerio爬取,没遇到这种情况,楼下大神解答

先打印下 sres.text啊 看原数据是否不对,楼下大神解答

帮顶

来自酷炫的 CNodeMD

cheerio.load(res.text,{decodeEntities: false}); 使用cnode[antd-moblie]版

楼上+1,cheerio解析的问题。

前两天刚遇到这个问题 解决方案 中文乱码?不,是 HTML 实体编码!

我有时候爬出来的东西是js渲染代码

来自酷炫的 CNodeMD

感谢各位大神,问题已经解决!

我之前爬起点网的文章就是乱码,后来自己重新设置了下编码

转化为utf8就行了吧

回到顶部