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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);
});



结果如下:

技术分享


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

以上是关于nodejs单页面爬虫--解决编码问题的主要内容,如果未能解决你的问题,请参考以下文章

使用 NodeJS 和 JSDOM/jQuery 从代码片段构建 PHP 页面

网络爬虫在爬取网页时,响应头没有编码信息...如何解决保存在本地的乱码问题?

nodejs 之 小爬虫

用juniversalchardet解决爬虫乱码问题

用juniversalchardet解决爬虫乱码问题

Python爬虫2-检测编码(使用chardet)