首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >监控网页内容

监控网页内容
EN

Stack Overflow用户
提问于 2016-05-05 16:25:44
回答 1查看 80关注 0票数 0

我需要开发一个web应用程序,这应该监测另一个网站的页面。(即)检查内容是否及时更新。例如,有些内容需要每5分钟更新一次,有些内容需要每1小时更新一次,等等。

我目前的想法是使用wget下载所需的页面,并在后端生成一个完整的json文件。然后,我的应用程序将通过ajax调用下载json,并在此基础上执行一些警报。

我的问题是,这是正确的方式吗?或者任何其他更好的方法来实现这一点。

EN

回答 1

Stack Overflow用户

发布于 2016-05-05 17:08:30

试着使用网络刮板机。

首先:如果你监控的网站不知道你的行为,你可能会考虑法律问题。

第二:是的,如果网站是简单的html,编程技巧很低,你可以使用node with dependencies,request和cheerio。这是一个基本的例子,告诉你如何解析独立网站上的新闻网址:

代码语言:javascript
复制
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(/(?=<a href="\/news)(?:\s*)(.*?)(?:\s*)(?=<\/a>)/g);
  var newsMatches = body.match(rePattern);


  for (var i=0; i<newsMatches.length; i++){
    //continue parsing url's pages
    console.log(newsMatches[i]);
  }

});

如果是一个应用程序或大量使用ajax加载的异步内容,您可能需要考虑一下phantom.js。在这两种情况下,你都需要注意托管网站的服务器接受的请求数量,你可能最终会发现你的IP被禁止了,你可以在那里找到很多代理列表。

它可能对你没有帮助,但这是你可以浏览整个网站的唯一方法(使用用户浏览器解析所有网站页面并发送回记录器是不公平的)。

干杯。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37045840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档