检查页面是否更改的有效方法(同时存储尽可能少的信息)



我有一些网页,我收集数据随着时间的推移。我不关心内容本身,只关心页面是否改变了。

目前,我使用Python的请求。Get获取页面,对页面进行哈希(md5),并存储该哈希值以便将来进行比较。

是否存在计算成本更低或更小的存储策略?现在一切顺利;我只是想看看有没有更好/更便宜的方法。:)

您可以跟踪您获得的最后一个版本的日期,并在请求中使用If-Modified-Since标头。但是,有些资源会忽略这个头。(一般来说,对于动态生成的内容,很难处理这个问题。)在这种情况下,你将不得不退回到效率较低的方法。

散列将是最可靠的变更检测源。我会用CRC32。它只有32位,而md5是128位。此外,即使在浏览器Javascript中,它也可以非常快。我有提高CRC32的JS实现速度的个人经验,用于非常大的数据集。

最新更新