使用VB.NET检测网页中的更改

时间:2013-07-19 12:13:41

标签: asp.net vb.net web-services http

我再次向你们提出你们在我遇到的问题上的专业知识和建议。我想知道你们中是否有人知道如何检测网页是否已经使用VB.NET进行了修改。我需要能够设置一个定期(比如每周一次)扫描用户输入的网页的任务,如果网页内容发生了变化,我需要发送一封电子邮件给一个已经改变的个人(不是页面本身的确切位置)。我将存储HTTP状态,当然还有页面数据本身以及上次修改的日期。当然,这需要非常容错,因为它可能是在检查再次运行之前的另一周。任何帮助都会很棒。谢谢。

修改

对这个问题的新转折抱歉。我有更多的时间来思考我们想要的东西。所以......检测网页上的任何变化都会有点愚蠢,因为页面的时间依赖元素会经常变化。相反,我想要做的是能够检测页面中的文档。例如,如果有excel,word docs或pdf在该页面上被更改。因此,我会在这些文档上运行哈希,然后在某种程序上检查是否已添加新文档或是否已修改旧文档。有关如何检测页面上嵌入的文档和运行哈希的任何建议?再次感谢!

2 个答案:

答案 0 :(得分:3)

正如我在评论中提到的,这类工作就是为checksums(也称为哈希函数)设计的。

你的代码看起来像这样:

- for each webpage of interest
  - pull webbpage
  - calculate checksum of contents
  - is current checksum different to last checksum?
    - if yes, send email
  - store new checksum and other appropriate data

.Net框架提供了许多校验和。最受欢迎的两个是MD5sha1

答案 1 :(得分:2)

除了校验和选项之外,还有各种Diff功能可以实现这一点,并提供比changed = true / false更多的信息。这个问题有更多信息:

How to tell when a web page has changed by x% in VB.net?