首先,我不是在寻找代码,只是简单地讨论关于主题所说的方法。
我最近想知道检测(尽可能快)网站页面更改的最佳方法是什么偶尔?
除非他们有 RSS 提要(您仍然需要拉取它们以查看它们是否已更改),否则实际上没有办法找出站点何时更改,除非访问并检查。但是,您可以做一些聪明的事情来提高效率。在您查看该网站一段时间后,您可以建立一个预测模型,了解它们何时倾向于更新。例如:该新闻站点每 2-3 小时更新一次,但该博客每周仅发布一篇文章。这可以为您节省许多检查,因为大多数页面实际上并不经常更新。谷歌这样做是为了帮助拉动它。一种适用于此的简单算法(取决于您需要新闻的前沿程度)是我自己的基于二进制搜索的设计:
Start each site off with a time interval ~ 1 day
Visit the sites when that time hits and check changes
if something has changed
halve the time for that site
else
double the time for that site
If after many iterations you find it hovering around 2-3 numbers
fix the time on the greater of the numbers
现在这是一个简单的算法,用于查找适合检查的时间,但如果您在实际发布更新时解析文本并查看模式,您可能会做一些更有效的事情。