日期:2012-04-25 浏览次数:20490 次
搜索引擎面对海量的网页,他们并不是平行的抓取每一个网页,因为无论搜索引擎数据库怎么扩张,都是无法跟上网页的增长速度,搜索引擎会优先抓取最重要的网页,一方面节省数据库,一方面对普通的用户也是有帮助的,因为,对用户来说,他们并不需要海量的结果,只需要最重要的结果。所以说一个好的搜集策略是优先搜集重要的网页,以便能够在最短的时间内把最重要的网页抓取过来。
那么搜索引擎如何首先抓取最重要的网页?
通过对海量的网页特征分析,搜索引擎认为重要的网页有如下的基本特征,虽然不一定完全准确,但是大多数时候确实是这样的:
1) 网页被其他的网页链接的特点,如果被链接的次数多或者被重要的网页所链接,则是很重要的网页;
2) 某网页的父网页被链接的次数多或者被重要的网页所链接,比如一个网页是一个网站的内页,但是其首页被链接的次数多,而首页也链接了这个网页,则说明这个网页也比较重要;
3) 网页的内容被转载传播的广。
4) 网页的目录深度小,易于用户浏览到。 这里定义“URL 目录深度”为:网页 URL 中除去域名部分的目录层次,即URL 为http://www.domain.com,则目录深度为 0;如果是 http://www.domain.com/cs,则目录深度为 1,一次类推。需要说明的是,URL 目录深度小的网页并非总是重要的,目录深度大的网页也并非全不重要,有些学术论文的网页 URL 就有很长的目录深度。多数重要度高的网页会同时具有上述 4 个特征。
5)优先收集网站首页,并赋予首页高的权重值。网站数目远小于网页数,并且重要的网页也必然是从这些网站首页链接过去的,因此搜集工作应当优先获得尽可能多的网站首页。
这里问题就随之出现,搜索引擎开始抓取网页的时候,可能既不知道网页被链接的情况也不知道被转载的情况,换句话说,最开始的时候他并不能知道前面3项的特征,这些因素只能在获得网页或几乎所有的 Web 链接结构之后才能够知道。那么怎么解决这个问题呢?那就是特征4和5是可以在抓取的时候就能知道的,只有特征 4 是不需要知道网页的内容(没有抓取网页之前)就可以确定某个 URL 是否符合“重要”的标准,而且网页 URL 目录深度的计算就是对字符串的处理,统计结果表明一般的 URL 长度都小于 256 个字符,这使得 URL 目录深度的判别易于实现。所以对于搜集策略的确定,特征 4 和5是最值得考虑的指导因素。
但是,特征 4 和5具有局限性,因为链接的深度并不能完全表明这个网页的重要程度。那么怎么解决这个问题?搜索引擎采用如下的办法:
1) URL 权值的设定:根据 URL 的目录深度来定,深度是多少,权值就减少多少,权值最小为零。
2) 设定 URL 初始权值为 一个固定的数值 。
3) URL 中出现字符”/”,”?” ,或”&” 1 次, 则权值减 一个数值 ,出
现”search”,”proxy”,或”gate” 1 次,则权值减一个数值;最多减到零。(包含”?”,
或”&” 的URL 是带参数的形式,需要经过被请求方程序服务获得网页,不是搜索引擎系统侧重的静态网页,因此权值相应降低。包含”search”,”proxy”,或”gate” ,说明该网页极大可能是搜索引擎中检索的结果页面,代理页面,因此要降低权值)。
4) 选择未访问 URL 的策略。因为权值小不一定说明不重要,所以有必要
给一定的机会搜集权值小的未访问 URL 。选择未访问 URL 的策略可以采用轮流的方法进行,一次按照权值排序取,一次随机取;或者 N次随机选取。
当搜索引擎抓取了大量的网页的时候,然后进入到一个阶段,对网页进行前面3个特征的判读,再通过大量的算法判断网页的质量,然后给予相对的排名。
本文由51荷叶茶http://www.51heyecha.com/站长原创提供