首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Node.js和MongoDB检测网站平台更改所需的建议

问使用Node.js和MongoDB检测网站平台更改所需的建议
EN

Stack Overflow用户
提问于 2013-03-25 21:58:18
回答 1查看 162关注 0票数 0

我需要一些建议,为这个项目,我正在工作。

我目前正在做一个请求头部的项目;下面是一个抓取的头部的例子,采用Mongo文档样式:

代码语言:javascript
复制
{
    "url": "google.com",
    "statusCode": 301,
    "headers": {
        "location": "http://www.google.com/",
        "content-type": "text/html; charset=UTF-8",
        "date": "Mon, 25 Mar 2013 13:50:31 GMT",
        "expires": "Wed, 24 Apr 2013 13:50:31 GMT",
        "cache-control": "public, max-age=2592000",
        "server": "gws",
        "content-length": "219",
        "x-xss-protection": "1; mode=block",
        "x-frame-options": "SAMEORIGIN"
    }
}

该项目使用Node.JS、Javascript和MongoDB。目前,我在MongoDB中存储了几千个这样的响应,我对在headers中使用一些items来检测平台更改很感兴趣。在我看来,像server、x-powered-by、x-aspnet-version这样的头都可以用来在将来进行交叉引用。例如,如果一个网站"today“在两个月后再次运行这个抓取器时,从Microsoft-IIS/7.0升级到了Microsoft-IIS/7.5,那么有理由相信这个网站已经升级了。

我的问题是--最好的方法是什么?

我是否应该创建两个集合- collectionToday和collectionInTwoMonths

然后对每个server、x-powered-by和x-aspnet-version的整数变化/增量执行正则表达式搜索?

这个实现将如何工作?

任何建议都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-25 23:14:03

有几种方法可以做到这一点。一种方法是,按照您的建议,为每个时间段创建不同的集合,并为每个时间段存储整个标头组。然后,您可以通过为每个时间段的url运行find来查询差异,比较结果应用程序端,并报告结果。

另一种方法是存储" differences“集合,该集合为每个时间点保存当时的标头和上次查询的标头之间的差异。这将在每次查询标头时需要更多的应用程序逻辑,但在实际查询差异时会减少工作。这就是我会做的。

编辑

如果这是您需要的三个头文件,那么我认为这听起来不错。请记住,当您查询以找出差异时,您需要找到每个头最后一次更改以进行比较的时间,这意味着集合中的最后一个条目(按时间)既对应于正确的url,又有一个对应于有问题的头的条目。

Psuedo-用于区分的代码:

代码语言:javascript
复制
for every url you want:
    query collection by url, sorting by date 
    for each header:
        find the last document with that field
        if the header value in that document and the current header are different:
            add the field to the new document
    add the new document, holding the url, date, and all different fields, to the collection
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15616797

复制
相关文章

相似问题

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