Web应用程序应该监视另一个网站页面的文件
优采云 发布时间: 2021-05-01 19:11Web应用程序应该监视另一个网站页面的文件
问题
我需要开发一个Web应用程序,该应用程序应该监视另一个网站页面。 (即)检查内容是否及时更新。例如,某些内容需要每5分钟更新一次,某些内容需要每1小时更新一次,等等,
我当前的想法是使用wget下载所需的页面并在后端生成一个完整的json文件。然后,我的应用程序将通过ajax调用下载json,并在此基础上发出一些警报。
我的问题是,这是正确的方法吗?或者还有其他更好的方法可以实现这一目标。
答案
尝试使用网络采集器。
首先:如果您监视的网站不了解您的行为,则可以考虑法律问题。
第二:是的,如果网站是纯HTML且编程技能较低,则可以使用具有依赖项请求和支持的节点。这是一个如何在独立网站上解析新闻URL的基本示例:
<p>var request = require('request');
var cheerio = require('cheerio');
//proxy from http://proxylist.hidemyass.com/
var __proxyArray =["http://85.143.164.100:81", "http://111.13.143.141:8080", "http://176.9.60.39:3128" ];
var randomProxy = function (){
var low = 0, high = __proxyArray.length;
var shuffled = Math.floor(Math.random() * (high - low) + low);
return __proxyArray[shuffled].uri ;
};
var options = {
uri:"http://www.independent.co.uk/",
proxy: randomProxy(),
headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36'
}
};
console.log("start");
request(options, function(err, res, body){
if(err || res.statusCode != 200) {
callback.call(null, new Error('Request failed'));
return;
}
//entire content
var xXx = JSON.stringify(body);
console.log(xXx);
//parsing with regex, you can use jquery in node as well
var rePattern = new RegExp(/(?=