189 8069 5689

Node.js实现单页面爬虫-创新互联

在imooc网上跟着老师写了两个爬虫,一个最简单的直接爬整个页面,一个完善版把章节标题和对应编号打出来了。

为乐清等地区用户提供了全套网页设计制作服务,及乐清网站建设行业解决方案。主营业务为成都做网站、网站建设、乐清网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

    看完之后,自己也想写一个爬虫,用自己的博客做测试,虽然结果并没有很成功- -,还是把代码放上来。

    目标是抓取章节的标题。

    博客页面:

Node.js实现单页面爬虫

对应标签:

Node.js实现单页面爬虫

页面源代码:

Node.js实现单页面爬虫

    经过分析,我们应该要抓取class=artHead的

,往下还有一个没有类的
,然后找到它的

标签下子标签的内容,就是章节的名字。

  上代码:

//引入http模块
var http = require('http');

//确定要抓取的页面 
//debug:本来写了qmkkd.blog.51cto.com,一直出错,在前面加上http就好了。
var url = '';//这里的url是'http://qmkkd.blog.51cto.com';,博客显示不出来,有毒 
 
//引入cherrio模块,类似服务器端的jquery
var cheerio=require('cheerio');


function filterChapters(html){

	//将html变成jquery对象
	var $ = cheerio.load(html);
	
	var artHeads = $('.artHead');
	
	var blogData=[];
	
	artHeads.each(function(item){
		var artHead = $(this);
		
		//获取文章标题
		var artTitle = artHead.find('h4').children('a').text();
		blogData.push(artTitle);
	})
	return blogData;
}


function printBlogInfo(blogData){
	blogData.forEach(function(item){
		var artTitle = item;
		console.log(item+'\n');
	})
}

http.get(url,function(res){
	
	var buffers=[];
	var nread = 0;

	res.on('data',function(data){
		buffers.push(data);
		nread+=data.length;
	});
	
	//网上找到的处理中文乱码问题的方法,但好像没有解决T_T
	//之后还采用了bufferhelper类,好像也不对=-= 
	//应该是基础不好的问题,暂时debug不了,先放着
	res.on('end',function(){
		var buffer =null;
		switch(buffers.length){
			case 0:buffer=new Buffer(0);
				break;
			case 1:buffer=buffers[0];
				break;
			default:
				buffer = new Buffer(nread);
				for(var i=0,pos=0,l=buffers.length;i

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章名称:Node.js实现单页面爬虫-创新互联
本文路径:http://cdxtjz.cn/article/pjoge.html

联系我们

您好HELLO!
感谢您来到成都网站建设公司,若您有合作意向,请您为我们留言或使用以下方式联系我们, 我们将尽快给你回复,并为您提供真诚的设计服务,谢谢。
  • 电话:028- 86922220 18980695689
  • 商务合作邮箱:631063699@qq.com
  • 合作QQ: 532337155
  • 成都网站设计地址:成都市青羊区锣锅巷31号五金站写字楼6楼

小谭建站工作室

成都小谭网站建设公司拥有多年以上互联网从业经验的团队,始终保持务实的风格,以"帮助客户成功"为已任,专注于提供对客户有价值的服务。 我们已为众企业及上市公司提供专业的网站建设服务。我们不只是一家网站建设的网络公司;我们对营销、技术、管理都有自己独特见解,小谭建站采取“创意+综合+营销”一体化的方式为您提供更专业的服务!

小谭观点

相对传统的成都网站建设公司而言,小谭是互联网中的网站品牌策划,我们精于企业品牌与互联网相结合的整体战略服务。
我们始终认为,网站必须注入企业基因,真正使网站成为企业vi的一部分,让整个网站品牌策划体系变的深入而持久。