快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

Node.js实现单页面爬虫

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

创新互联建站是一家专业提供江川企业网站建设,专注与网站制作、成都做网站、HTML5建站、小程序制作等业务。10年已为江川众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。

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

    目标是抓取章节的标题。

    博客页面:

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

    


网页标题:Node.js实现单页面爬虫
URL分享:http://6mz.cn/article/iphoho.html

免费获取网站建设与品牌策划方案报价

*主要业务范围包括:高端网站建设, 集团网站建设(网站建设网站制作)找网站建设公司就上快上网。
提交需求

    联系我们

    028-86922220
  • 手机:13518219792
  • 地址:成都市太升南路288号锦天国际A幢1002号
  • 24小时服务热线:400-028-6601

    网站建设服务

  • 网页设计
  • 网站制作
  • 网站开发

    网站推广服务

  • 营销网站建设
  • 百度快速排名
  • 整站网站推广

    网站运维服务

  • 基础维护
  • 网站改版
  • 网站维护

    FOLLOW US

  • 微信二维码

    微信二维码

Copyright © 2022 成都快上网科技有限公司 成都网站建设公司-选网站建设公司快上网!国内专业的网站制作公司!
All Rights Reserved 版权所有 蜀ICP备19037934号-11