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,并按预期工作。 请务必在真正的实现中testingreadFile
callback中的err
,并在文件未find或读取错误时处理相应的事情。