快递和Cheerio/JSDOM
Express and Cheerio/JSDOM
我正在尝试让 Cheerio 与 Express 一起工作。
我希望能够从服务器操纵 dom,但我发现的只是网络抓取..
有一些要求..
目前,我能够 运行 多个 app.listen(port);
语句,并使用多个服务器。
我正在尝试将 <script>alert("test);</script>
附加到快递发送的每一页。
我已经创建了快速服务器:(假设 Path
是一个预定义变量)
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);
你们能给我一个工作示例来将其附加到页面上吗?有没有办法让它实时工作?
谢谢!
这是一个没有错误处理的 quick/simple 示例:
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);
我刚刚在本地测试了它,它按预期工作。请务必在实际实现中的 readFile
回调中测试 err
,并在找不到文件或读取文件时出现错误时适当处理。
我正在尝试让 Cheerio 与 Express 一起工作。 我希望能够从服务器操纵 dom,但我发现的只是网络抓取..
有一些要求..
目前,我能够 运行 多个 app.listen(port);
语句,并使用多个服务器。
我正在尝试将 <script>alert("test);</script>
附加到快递发送的每一页。
我已经创建了快速服务器:(假设 Path
是一个预定义变量)
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);
你们能给我一个工作示例来将其附加到页面上吗?有没有办法让它实时工作?
谢谢!
这是一个没有错误处理的 quick/simple 示例:
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);
我刚刚在本地测试了它,它按预期工作。请务必在实际实现中的 readFile
回调中测试 err
,并在找不到文件或读取文件时出现错误时适当处理。