对于搜索引擎来说,几乎不可能捕捉到互联网上的所有网页。那么蜘蛛是如何抓住它的呢?今天我们将继续讨论昨天的话题:搜索引擎是如何工作的?过来看看!
从目前公布的数据来看,容量的搜索引擎只捕获了网页总数的40%左右。其中一个原因是抓取技术的瓶颈,它不能遍历所有的网页,很多网页无法从其他网页的链接中找到;另一个原因是存储技术和处理技术的问题。如果每页的平均大小为20K(包括图片),则100亿个网页的容量为100-2000g字节。即使可以过度存储,也存在下载问题(按一台机器每秒下载20K计算,需要240台机器连续下载一年才能下载完所有网页)。
同时,由于数据量过大,搜索效率也会受到影响。因此,很多搜索引擎蜘蛛只会抓取哪些重要的网页,而在抓取的过程中,评价网页重要性的主要依据是网页的链接深度。
在抓取网页时,搜索引擎蜘蛛通常有两种策略:广度优先和深度优先。广度优先意味着搜索引擎蜘蛛将首先抓取起始页中链接的所有页面,然后选择其中一个链接页面,并继续使用此页中链接的所有页面。这是常用的方法,因为这种方法可以让搜索引擎并行处理,提高其抓取速度。深度优先意味着搜索引擎蜘蛛将从起始页开始,逐个跟踪链接,然后在处理完这一行后转到下一个起始页继续跟踪链接。这种方法的一个优点是更容易设计搜索引擎蜘蛛。
由于不可能捕获所有网页,一些搜索引擎蜘蛛设置了一些不重要网站的访问层数,如下图所示。A是起始页,属于第0、B、C、D、e和f层,属于第1、G和H层,属于第2、I层。如果搜索引擎spider设置的访问层数为2,则不会访问我的网页。这还允许在搜索引擎中搜索某些网站上的某些网页,而不能搜索其他网站上的网页。对于网站设计者来说,扁平化的网站结构设计有助于搜索引擎捕获更多的页面。
搜索引擎蜘蛛在访问网页时经常遇到加密数据和网页权限的问题。有些网页需要成员的权限才能访问。当然,网站所有者可以让搜索引擎只注意不通过协议捕获,但是对于一些销售报表的网站,他们希望搜索引擎能够搜索到他们的报表,但是他们不能让搜索者完全免费查看,所以他们需要为搜索引擎的蜘蛛。搜索引擎蜘蛛可以在给定的权限内爬行这些页面,以便提供搜索。当搜索者点击查看网页时,还需要提供相应的权限验证。