网页更新策略
互联网的动态特性是独一无二的:总是有新页面,页面内容被更改,或者现有页面被删除。对于爬虫来说,网页不是在本地爬取的,而是在完成工作后也必须反映互联网的动态特性。本地下载的网页可以看作是互联网页面的“镜子”,爬虫应该尽量保持一致。您可以假设某个特定网页已被删除或内容发生了显着变化,搜索引擎会忽略它,并仍然根据旧内容对其进行分类,并将其作为搜索结果呈现给用户。不错。因此,对于被爬取的网页,爬虫必须根据爬虫所采用的网页更新策略,使内容与网页内容保持同步。
网页更新策略的任务是确定何时重新抓取之前下载的网页,使本地下载的网页内容尽可能与互联网上的原始网页匹配。常用的网页更新策略有3种:历史参考策略、用户体验策略和聚类抽样策略。
历史参考策略
历史参考策略是最直观的更新策略,它基于假设过去更新频繁的网页在未来也会频繁更新。因此,您可以通过参考历史更新来决定何时更新网页。
这种方法通常使用泊松过程来对网页的变化进行建模,根据每个网页过去的变化,通过预测内容何时再次发生变化来指导爬虫的抓取过程。但是,不同的方法侧重于不同的事情。例如,一些研究将网页划分为不同的区域。爬虫策略应该注重发现和改变,忽略非关键区域的频繁变化,比如广告栏或导航栏。主题内容建模。
用户体验策略
通常,搜索引擎用户提交查询后,可能会有数千条相关的搜索结果,但用户没有耐心看到排名较低的搜索结果,往往只能看到搜索内容的前3 页。用户体验策略就是利用这些搜索引擎用户的特点设计更新策略。
此更新策略的核心是用户体验,如果您的本地索引网页内容过时,我们建议您稍后更新这些过时的网页,只要不影响用户体验即可。因此,确定网页何时更新取决于随着网页内容的变化搜索质量的变化(通常以搜索结果排名的变化来衡量)。您的网页产生的影响越大,速度就应该越快。将会被更新。
用户体验策略存储网页的多个历史版本,并根据过去每次内容更改对搜索质量的影响对其进行平均。影响更大的网页,再次安排爬网优先。
集群抽样策略
聚类抽样策略认为:网页具有一些属性,根据这些属性可以预测其更新周期,具有相似属性的网页,其更新周期也是类似的。于是,可以根据这些属性将网页归类,同一类别内的网页具有相同的更新频率。为了计算某个类别的更新周期,只需对类别内网页进行采样,以这些被采样网页的更新周期作为类别内所有其他网页的更新周期。与之前叙述的两种方法相比较,这种策略一方面无须为每个网页保存历史信息;另一方面,对于新网页,即使没有历史信息,也可以根据其所属类别来对其进行更新。
在Tan等人的研究中,将能够体现网页更新周期的属性特征划分为两大类:静态特征和动态特征。静态特征包括:页面的内容、图片数量、页面大小、链接深度、PageRank值等十几种;而动态特征则体现了静态特征随着时间的变化情况,比如图片数量的变化情况、入链出链的变化情况等。根据这两类特征,即可对网页进行聚类。
所示为一个较为通用的流程,不同算法在细节处有差异。比如有些研究直接省略聚类这个步骤,而是以网站作为聚类单位,即假设属于同一个网站的网页具有相同的更新周期,对网站内页面进行抽样,计算其更新频率,之后网站内所有网页以这个更新周期为准。这个假设虽显粗糙,因为很明显同一网站内网页更新频率差异很大,但是可以省掉聚类这个步骤,在计算效率方面会更可行些。