上次写的爬虫虽然数据爬下来了,但是有乱码问题。查了相关的书之后,找到解决办法。重新写了一下,好像比之前更简洁了。
解决办法是:引入iconv-lite模块,用来转换编码的网页内容。
这次跟着书上用了request模块,而不是用原来的http模块。
var request = require('request');
var cheerio = require('cheerio');
var iconv = require('iconv-lite');
//博客标题
request({
url:'http://qmkkd.blog.51cto.com/',
encoding:null
},function(err,res,body){
if(err) return console.log(err);
body = iconv.decode(body,'gbk');
//根据网页内容创建DOM操作对象
var $ = cheerio.load(body);
//读取博文类别列表
var bloglist = [];
$('.blogList .artHead h4 a').each(function(){
var $me = $(this);
var name = $me.text().trim();
bloglist.push(name);
});
//输出结果
console.log(bloglist);
});
结果如下:
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。