我对Node JS并不陌生,但我正在尝试建立一个提供静态文件的网站。经过一些研究,我发现带有Express的NodeJS对此非常有用。 到目前为止,我设法提供了一些位于服务器上的静态html文件,但是现在我想做其他事情: 我有一个指向html页面的URL,并且在该html页面中,有一个包含一些信息的表。
我想从中提取几个特定的值,并且1)将其另存为JSON在文件中,2)将这些值写入html页面。我尝试过使用jQuery,但到目前为止,我一直没有成功。
这是我到目前为止所拥有的:
1.node应用程序运行在端口8081上,我将使用NGINX反向代理从任何地方进一步访问它(我已经安装了nginx,并且可以使用)
2。使用适当的URI时,我可以获取URL并将其作为HTML。
3。我看到该表没有ID,而只有一个与它相关联的“详细信息”类。另外,我只对获取这些行感兴趣:
<div class='group'>
<table class='details'>
<tr>
<th>Status:</th>
<td>
With editors
</td>
</tr>
根据我到目前为止所看到的,如果表具有ID,则jQuery可以正常工作。
这是我在app.js
中的代码
var express = require('express');
var app = express();
var request = require('request');
const path = require('path');
var content;
app.use('/',function(req,res,next) {
var status = 'It works';
console.log('This is very %s',status);
//console.log(content);
next();
});
request(
{
uri:
'https://authors.aps.org/Submissions/status?utf8=%E2%9C%93&accode=CH10674&author=Poenaru&commit=Submit'
},function(error,response,body) {
content = body;
}
);
app.get('/',res) {
console.log('Got a GET request for the homepage');
res.sendFile(path.join(__dirname,'/','index.html'));
});
app.get('/url',res) {
console.log('You requested table data!!!');
TO DO: SHOW ONLY THE THE VALUES OF THAT TABLE INSTEAD OF THE WHOLE HTML PAGE
res.send(content);
});
var server = app.listen(8081,function() {
var host = server.address().address;
var port = server.address().port;
console.log('Node-App listening at http://%s:%s',host,port);
});
基本上,该URL的HTML内容被保存到content
变量中,现在我只想保存其中的表,并且还仅将保存的部分输出到新的html页面。
有什么想法吗? 预先谢谢你:)