nodejs单页面爬虫(二)--解决编码问题

    上次写的爬虫虽然数据爬下来了,但是有乱码问题。查了相关的书之后,找到解决办法。重新写了一下,好像比之前更简洁了。

    解决办法是:引入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);
});



结果如下:

wKiom1e_0j2hN9nqAABMpT9qjWk466.jpg


本文出自 “Sunny” 博客,请务必保留此出处http://qmkkd.blog.51cto.com/9511687/1842930

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值