IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    node.js做爬虫程序,抓灿哥的友链

    woyoo发表于 2014-10-23 10:25:24
    love 0

    express 是 Node.js 应用最广泛的 web 框架,所以这个基础框架必须引用

    superagent(http://visionmedia.github.io/superagent/ ) 是个 http 方面的库,可以发起 get 或 post 请求。

    cheerio(https://github.com/cheeriojs/cheerio ) 大家可以理解成一个 Node.js 版的 jquery,用来从网页中以 css selector 取数据,使用方式跟 jquery 一样一样的。

    爬出来的结果是这样的,当然你也可以爬文字,灿哥里面干货很多

    node.js

    上代码

    var express = require('express');
    var superagent = require('superagent');
    var cheerio = require('cheerio');
    var app = express();
    
    app.get('/', function (req, res, next) {
      superagent.get('http://www.shencan.net/')
        .end(function (err, sres) {
          if (err) {
            return next(err);
          }
          var $ = cheerio.load(sres.text);
          console.log(sres.text);
          var items = [];
          $('#linkcat-2 li').each(function (k, v) {
            var c = $(this).children();
            items.push({
              title: c.text(),//c.html(),
              href: c.attr('href')   
            });
          });
    
          res.send(items);
        });
    });
    
    app.listen(3000,function(){
      console.log('app is listening at port 3000');
    });

    大家学node.js 可以来这些地方

    https://github.com/alsotang/node-lessons

    http://javascript.ruanyifeng.com/nodejs/basic.html#toc1

    http://nodeapi.ucdok.com/#/api/

    http://nqdeng.github.io/7-days-nodejs/



沪ICP备19023445号-2号
友情链接