Algorithm 网页更新检测算法

Algorithm 网页更新检测算法,algorithm,diff,web-crawler,Algorithm,Diff,Web Crawler,首先,我不是在寻找代码,只是简单地讨论关于主题内容的方法 我最近想知道,检测(尽可能快地)网站页面变化的最佳方法是什么,假设我有10万个网站,每个网站都有未知数量的页面,爬虫真的需要每隔一段时间访问每个网站吗?,除非它们有RSS提要(您仍然需要拉动该按钮,以查看它们是否已更改)除了去查看网站外,根本无法知道网站何时发生了变化。不过,你可以做一些明智的事情来提高效率。在你查看网站一段时间后,你可以建立一个预测模型,预测网站何时会更新。例如:此新闻网站每2-3小时更新一次,但该博客只更新了一次每周发

首先,我不是在寻找代码,只是简单地讨论关于主题内容的方法


我最近想知道,检测(尽可能快地)网站页面变化的最佳方法是什么,假设我有10万个网站,每个网站都有未知数量的页面,爬虫真的需要每隔一段时间访问每个网站吗?

,除非它们有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
现在,这是一个简单的算法,用于确定哪些时间适合检查,但是如果您在更新实际发布时解析文本并查看模式,您可能可以做一些更有效的事情