谷歌抓取网页视频教程(搜索引擎面对的是互联网万亿网页,如何高效抓取这么多网页到本地镜像?)
优采云 发布时间: 2021-10-24 21:01谷歌抓取网页视频教程(搜索引擎面对的是互联网万亿网页,如何高效抓取这么多网页到本地镜像?)
搜索引擎面对互联网上数以万亿计的网页。如何高效抓取这么多网页到本地镜像?这是网络爬虫的工作。我们也称它为网络蜘蛛。作为站长,我们每天都与它密切接触。
一、爬虫框架
上图是一个简单的网络爬虫框架图。从seed URL开始,如图,一步一步的工作,最后将网页保存到数据库中。当然,勤奋的蜘蛛可能需要做更多的工作,例如:网页去重和反作弊网页。
或许,我们可以把网络当成蜘蛛的晚餐,其中包括:
下载的网页。被蜘蛛爬过的网页内容放在胃里。
过期页面。蜘蛛每次都爬很多网页,有的在肚子里坏了。
要下载的网页。蜘蛛看到食物,就会抓住它。
知乎网页。它还没有被下载和发现,但蜘蛛可以感觉到它们并且迟早会抓住它。
不可知的页面。互联网这么大,很多页面蜘蛛都找不到,而且可能永远也找不到。这部分占比很高。
通过以上划分,我们可以清楚地了解搜索引擎蜘蛛的工作以及他们面临的挑战。大多数蜘蛛都是按照这个框架爬行的。但这并不完全确定。一切都很特别。根据功能的不同,蜘蛛系统也存在一些差异。
二、爬虫的类型
1. 大量蜘蛛。
这种蜘蛛有明确的爬行范围和目标,当蜘蛛完成目标和任务时停止爬行。具体目标是什么?可能是抓取的页面数量、页面大小、抓取时间等。
2.增量蜘蛛
这种蜘蛛与批量蜘蛛的不同之处在于它们会不断地抓取,并且会定期抓取和更新已抓取的网页。由于互联网上的网页在不断更新,增量蜘蛛需要能够反映这种更新。
3.垂直蜘蛛
这个蜘蛛只关注特定主题或特定行业网页。以健康网站为例,这种专门的蜘蛛只会抓取健康相关的主题,其他主题内容的网页不会被抓取。测试这个蜘蛛的难点在于如何更准确地识别内容所属的行业。目前很多垂直行业网站都需要这种蜘蛛爬行。
三、爬取策略
蜘蛛通过*敏*感*词*网址进行爬取和扩展,列出了大量需要爬取的网址。但是要爬取的网址数量庞大,蜘蛛是如何确定爬取顺序的呢?蜘蛛爬取的策略有很多,但最终的目标是一个:先爬取重要的网页。为了评估页面是否重要,蜘蛛会根据页面内容的原创度、链接权重分析等多种方法进行计算。比较有代表性的爬取策略如下:
1. 广度优先策略
宽度优先是指蜘蛛爬完一个网页后,它会继续按顺序爬取该网页中收录的其他页面。这种想法看似简单,但实际上非常实用。因为大多数网页都是按优先级排序的,重要的页面会优先推荐在页面上。
2. PageRank 策略
PageRank是一种非常著名的链接分析方法,主要用于衡量网页的权重。例如,Google 的 PR 就是典型的 PageRank 算法。通过PageRank算法,我们可以找出哪些页面更重要,然后蜘蛛先抓取这些重要的页面。
3.大站点优先策略
这个好理解,大的网站通常内容页比较多,质量会高一些。蜘蛛首先会分析网站的分类和属性。如果这个网站已经收录很多,或者在搜索引擎系统中权重很高,那么收录会被优先考虑。
四、网页更新
互联网上的大部分页面都会保持更新,因此蜘蛛存储的页面也需要及时更新以保持一致性。打个比方:一个网页之前排名很好,如果页面被删除了但仍然排名,那么体验就很糟糕。因此,搜索引擎需要知道这些并随时更新页面,并将最新的页面提供给用户。常用的网页更新策略有3种:历史参考策略和用户体验策略。集群抽样策略。
1.历史参考策略
这是基于假设的更新策略。比如你的网页之前定期更新过,那么搜索引擎也会认为你的网页以后会经常更新,蜘蛛就会定期来网站按照这个规则抓取网页。这也是电水一直强调网站内容需要定期更新的原因。
2. 用户体验策略
一般来说,用户只会查看搜索结果前三页的内容,很少有人会看后面的页面。用户体验策略就是根据用户的这个特点更新搜索引擎。例如,一个网页可能发布较早,一段时间没有更新,但用户仍然觉得它有用,点击浏览,那么搜索引擎可能不会更新这些过时的网页。这就是为什么在搜索结果中,最新的页面不一定排名靠前。排名更依赖于该页面的质量,而不是更新的时间。
3. 聚类抽样策略
以上两种更新策略主要参考网页的历史信息。然而,存储大量的历史信息对于搜索引擎来说是一种负担。另外,如果收录是一个新页面,没有历史信息可以参考,我该怎么办?聚类抽样策略是指根据网页显示的某些属性对许多相似的网页进行分类,分类后的网页按照相同的规则进行更新。
通过了解搜索引擎蜘蛛工作原理的过程,我们会知道:网站内容的相关性,网站与网页内容的更新规律,网页上的链接分布,而网站的权重等因素会影响蜘蛛的爬行效率。识敌,让蜘蛛来的更猛烈!