抓取Hacker News API示例 使用NodeStarter。
var superagent = require('superagent');
var async = require('async');
/**
* GET /
* Home page.
*/
exports.index = function(req, res) {
superagent.get('https://hacker-news.firebaseio.com/v0/topstories.json')
.accept('json')
.end(function(err, result) {
if(err) {return next(err);}
//console.log(result.body);
var arr = result.body.slice(0,10);
var results = [];
async.each(arr, function(item, cb) {
var url = 'https://hacker-news.firebaseio.com/v0/item/' + item.toString() + '.json';
//console.log(url);
superagent.get(url)
.end(function(err, res) {
if(err) {return cb(err);}
results.push(res.body);
cb();
});
}, function(err) {
if(err) {return next(err);}
//console.log(results[0]);
res.render('home', {
title: '主页',
result: results
});
});
});
};