nodeJs爬虫小程序练习

//爬虫小程序

     var express = require('express');
        //superagent是一个http的库,可以发起get和post请求
        var superagent = require('superagent');
        //cheerio是一个类似于jquery的库,用来从网页中以css 选择器取数据,
        //使用方式和jquery相同
        var cheerio = require('cheerio');
        
        var app = express();
        
        app.get('/', function(req, res, next){
            superagent.get('https://cnodejs.org/')
            .end(function(err,sres){
                //常规错误处理
                if(err){
                        return next(err);
                }
                var $ = cheerio.load(sres.text);
                var items = [];//数组
                $('#topic_list .topic_title').each(function(idx, element){
                        var $element = $(element);
                        items.push({
                                title: $element.attr('title'),
                                href: $element.attr('href')
                        });
                });
        
                res.send(items);
            });
        });
        
        app.listen(3000,function(req,res){
            console.log('app is run at port 3000');
        });
  • SuperAgent是轻量级的渐进式ajax API,灵活性高,可读性高。可以通过调用request对象上的适当方法.end()来启动请求,然后调用发送请求。例如一个简单的GET请求:

       request
         .get('/search')
         .end(function(err, res){
      
         });