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 一样一样的。
爬出来的结果是这样的,当然你也可以爬文字,灿哥里面干货很多
上代码
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/