【问题标题】:Smart detection of html content changes智能检测html内容变化
【发布时间】:2012-05-25 14:12:55
【问题描述】:

我正在寻找可以智能检测 html 页面内容变化的算法/库(最好是 c#)。

例如,如果页面是 techcrunch.com,它只会在有新帖子或页面发生重大变化时匹配。它会忽略 html cmets、javascript、次要更新,例如 cmets 的数量等...

有人能指出正确的方向吗?

【问题讨论】:

  • 看来你需要设计你的算法
  • 我正在寻找适用于所有网站的通用产品。
  • 从来没有听说过这样的事情。我的建议是谷歌它。这种类型的问题确实不适合 StackOverflow,但如果您确实发现了一些代码并在尝试演示时遇到了困难,请务必回来看看我们并发布一个编程问题。我们很乐意提供帮助。祝你好运:)
  • 类似的问题在这里stackoverflow.com/questions/7553898/… .. 但是我不确定你是否可以构建一些通用的东西,除非你事先知道网页的结构并且该结构保持不变..
  • 如果算法查看百分比变化会怎样。例如:新的 html 与以前的 html 有 10% 的不同,结果:发生了一些变化。

标签: c# html web-scraping


【解决方案1】:

您可以使用 JavaScript 来计算页面或页面特定部分上有多少元素。有数千种方法可以实现 JS 来检测变化。

【讨论】:

    【解决方案2】:

    我的假设是,您使用 C# 程序请求页面。

    实际上,有数百种方法可以做到。

    我给你一个:

    第一,最简单和虚拟的算法..是

    while(true) {
        checkModifyDate();
    
        if(date is newer) {
            do anything you want...
        }
        do it again in next 10 mins()
    }
    

    checkModifyDate() 函数将“仅”检查 HTTP 标头是否有更改。
    然后你以后可以做任何事情。

    您可以将其添加到每 xxx 分钟运行一次的计时器对象或线程中,并将其设置为自动为您完成这项工作。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-08
      • 1970-01-01
      • 2017-02-28
      • 1970-01-01
      相关资源
      最近更新 更多