上次写的爬虫虽然数据爬下来了,但是有乱码问题。查了相关的书之后,找到解决办法。重新写了一下,好像比之前更简洁了。
解决办法是:引入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);
});
结果如下:
