Express和Cheerio / JSDOM

我试图让Cheerio和Express一起工作。 我想能够从服务器上操纵dom,但是我发现的只是网页抓取。

有一些要求..

目前,我可以运行多个app.listen(port); 语句,并使用多个服务器。

我试图附加<script>alert("test);</script>到快递发送的每一个页面。

我创build了快速服务器:(假设Path是一个预定义的variables)

 var express = require('express'); var app = express(); app.get('/', function (req, res) { app.use(app.static(Path)); res.sendFile(Path + "/index.html"); }); app.listen(Port); 

你们可以给我一个工作的例子,将其附加到页面。 有没有办法让这个实时工作?

谢谢!

这是一个没有error handling的简单/快速的例子:

 var express = require('express'); var fs = require('fs'); var cheerio = require('cheerio'); var app = express(); app.get('/', function (req, res) { fs.readFile(Path + '/index.html', function(err, data) { var $ = cheerio.load(data); $('body').append('<script>alert("test");</script>'); res.send($.html()); }); }); app.listen(Port); 

我只是在本地testing,并按预期工作。 请务必在真正的实现中testingreadFilecallback中的err ,并在文件未find或读取错误时处理相应的事情。