我怎样才能用Node.js刮页面

我试图刮一个网站,但我不能得到的结果写入到一个HTML文件。

我在node.js中使用了cheerio,我的代码如下所示。

var http = require('http'); var path = require('path'); var request = require('request'); var cheerio = require('cheerio'); http.createServer(function (req, res) { res.write('<html><head></head><body>'); request('http://www.espn.com', function(err, res, html){ var $ = cheerio.load(html); $('a.realStory').each(function(i, element) { var node = $(this); var text = node.text(); res.write('<p>'+ text +'</p>'); }); }); res.end('</body></html>'); }).listen(1337); 

我怎样才能运行这个文件,然后到我的本地主机来查看它?

基本实现:

 var express = require('express'), path = require('path'), request = require('request'), cheerio = require('cheerio'), app = express(); app.get('/', function (req, res) { request('http://www.espn.com', function (e, r, html) { var $ = cheerio.load(html); $('a.realStory').each(function (i, element) { var node = $(this); var text = node.text(); res.write('<p>' + text + '</p>'); }); res.end(); }); }); app.listen(process.env.PORT || 1337, function () { console.log("Server running.."); }); 

如果你遇到过插入/执行JavaScript(单页面应用程序)的情况,那么https://github.com/joelgriffith/navalia可能是最适合的&#x3002; 我正在考虑公开一个像已经有节点写入algorithm的人喜欢cheerio接口。