上次写的爬虫虽然数据爬下来了,但是有乱码问题。查了相关的书之后,找到解决办法。重新写了一下,好像比之前更简洁了。
解决办法是:引入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 h3 a‘).each(function(){ var $me = $(this); var name = $me.text().trim(); bloglist.push(name); }); //输出结果 console.log(bloglist); });
结果如下:
时间: 2024-11-09 09:54:32