我想构建一个 C# 应用程序:
- 浏览我的收藏夹列表(例如,在 IE 中)
- 检查自从我上次访问后网站是否更新
- 显示最近更新的 url 列表
第 2 点似乎有问题,因为 C# 的 HttpWebResponse.LastModified 属性不适用于某些博客和其他站点(它报告当前日期和时间)。
有什么想法吗? 谢谢
最佳答案
Last-Modified header 确实不是由某些 Web 服务器设置的,您对此无能为力。对于这些情况,您需要获取 HTML 并对数据进行哈希处理。如果哈希在下一次检索时匹配,则它(很可能)没有改变。
如果 HTML 中有不断变化的部分,您可以解析 HTML 树并删除其中经常变化的部分,例如 Google Ads。但这开始比仅仅检查标题要付出更多的努力,取决于您的实际用例是什么,看看它是否值得您付出努力。 HTML Agility Pack 是用于最后一项努力的好工具。
另一种可能产生更好结果的方法是测量 distance在页面的两个版本之间,并将高于特定阈值的版本标记为已更新。同样,这在很多情况下都会失败(现在会给出误报)。把它扔在这里,以防它能激发你做一些有用的事情。
关于c# - 构建一个显示最近更新的网站的 C# 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2276084/