googlecrawler的hadoop重构策略

nnvyjq4y  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(311)

我想知道一些大型搜索引擎的重新爬网策略是如何工作的。例如,让我们考虑一下谷歌。我们知道google正在使用动态间隔来重新扫描每个网站。假设根据googledynamicinterval,每10分钟就有10万个站点需要重新爬网。所以这10万个网站的爬行过程应该在10分钟内完成。可能有两种情况:
1) googlebot将获取每个站点的第一个页面,然后生成该页面中的url列表。对于每个url,它将检查是否在之前获取此url。如果是新的,它将获取新的页面。此过程将持续到爬网或特定深度阈值结束。
2) googlebot将再次获取每个页面(无论是否更新)
假设google使用第一种策略,那么如何对一个具有相同url但更新内容的页面进行爬网和索引?假设谷歌使用第二个,那么它如何能在不到10分钟的时间内重建所有这些页面?其他网页呢?可能有超过60亿个网页可用如何重新拉网所有这些网页及时是可能的?我真的认为在hadoop基础设施上使用nutch和solr这样的新技术是不可能的。
当做。

col17t5w

col17t5w1#

我们使用大量的计算机在网上获取(或“爬行”)数十亿个页面。googlebot使用一个算法过程:计算机程序确定要爬网的站点、频率以及从每个站点获取多少页面。
googlebot的爬网过程从一个网页URL列表开始,该列表由以前的爬网过程生成,并由网站管理员提供的站点Map数据进行补充。当googlebot访问这些网站时,它会检测每个页面上的链接(src和href),并将它们添加到要爬网的页面列表中。新站点、对现有站点的更改和死链接都会被记录下来,并用于更新google索引。
https://support.google.com/webmasters/answer/182072?hl=en
首先,为什么它必须在10分钟内完成任务?
在第一段中,并不是所有的站点都以相同的间隔重新创建。他们有一个算法来确定这一点。
所以googlebot将再次获取每一页,但间隔非常不同。它的选项(2)在你的问题,但与一个附加的算法。
他们使用hadoop基础设施来实现可伸缩性。

相关问题