上次写的爬虫虽然数据爬下来了,但是有乱码问题。查了相关的书之后,找到解决办法。重新写了一下,好像比之前更简洁了。
解决办法是:引入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); });
结果如下:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。