在我修改了网站 HTML 几个小时后,我发现 Google 更新了我的网站的搜索结果。互联网如此庞大,Google 爬虫是如何做到的?它不会占用太多带宽吗?
答案1
Google 的蜘蛛程序会持续不断地抓取网络。它们拥有多台机器,可抓取其庞大的索引并持续向其中添加新页面。
速度快的原因:
- 他们有大量的机器以惊人的速度爬行
- 他们有大量可用带宽
- 他们已经有了庞大的页面索引来搜索,因此可以节省寻找新内容的时间。他们可以请求之前编入索引的链接,并解析它们以查找要抓取的新链接。
- 他们已经这样做了很多年,并且已经对他们的抓取算法进行了微调。直到今天,他们仍在继续努力使其变得更好。
- 某些网站被索引的频率更高,这取决于某些因素,PR(PageRank)就是其中的一个重要因素。如果您的网站 PR 很高,您会看到它更新得很快。这就是为什么您经常会看到超级用户的问题在被问到几分钟后就出现在搜索结果中。
编辑:
...以及许多其他因素。
Google 拥有充足的空间和带宽。您无需担心它们!截至 2008 年 1 月,Google 平均每天整理 20PB 数据20PB(千兆字节)是 20,000 兆兆字节,或 2000 万千兆字节。现在这只是排序,事实并非如此全部他们的数据只是其中的一小部分。
在进行如此大规模的实验时,出现了一个有趣的问题:1PB 的排序数据该放在哪里?我们将它写入 48,000 个硬盘(但我们并未用尽这些硬盘的全部容量),每次我们进行排序时,至少有一个硬盘会损坏(考虑到测试的持续时间、涉及的硬盘数量以及硬盘的预期寿命,这并不奇怪)。为了确保排序的 PB 数据安全无虞,我们要求 Google 文件系统将每个文件的三个副本写入三个不同的硬盘。
简直令人难以置信。
答案2
我怀疑谷歌使用了一些额外的信号来决定重新抓取。
分析或谷歌网站管理员工具中的帐户活动、推特活动、搜索活动、工具栏活动、chrome url 完成,或许是对其 dns 服务的请求。
然后,他们需要查找列表页面的最后更新时间,如果是,则挖掘其中新创建的页面。站点地图是首选列表页面(超级用户有一个),然后是 feed,然后是主页,其中列出了最近的页面,因此每当有其他页面出现时,主页就会更新。