【发布时间】:2023-04-10 05:13:02
【问题描述】:
基本上,如果网站上的内容发生变化,我会尝试运行一些代码(Python 2.7),否则请稍等片刻,稍后再检查。
我正在考虑比较哈希,问题是如果页面更改了单个字节或字符,哈希会有所不同。例如,如果页面在页面上显示当前日期,则每次哈希都会不同,并告诉我内容已更新。
那么...你会怎么做呢?您会查看 HTML 的 Kb 大小吗?您是否会查看字符串长度并检查例如长度是否已更改超过 5%,内容是否已“更改”?或者是否存在某种散列算法,如果仅更改了字符串/内容的一小部分,则散列保持不变?
关于last-modified - 不幸的是,并非所有服务器都正确返回此日期。我认为这不是可靠的解决方案。我认为更好的方法 - 结合哈希和内容长度解决方案。检查哈希,如果它改变了 - 检查字符串长度。
【问题讨论】:
-
您确定需要比较完整的页面来源而不是您希望更新的特定部分吗?
-
我想比较完整的页面。
-
不确定您的页面结构有多复杂。如果您关心一些您想忽略的文本,例如日期,如果有一些像 这样的 html 标签,然后在进行散列之前将其删除,这样您可能会有更多更好的数据比较。
标签: python-2.7 hash compare web-crawler