根据上述增量爬虫的工作原理,增量爬虫策略的实现必须经过以下几个步骤,首先要访问并重新下载当前的页面。然后进行数据的采集工作,及时更新进行更新数据库中已有的更新数据。更新数据的方法有很多种,一般来说可以分为以下几类:
(1)个体更新策略[11]:因为各个不同的网页都有可能会存在着彼此不同的更新频度,如此一来每个爬虫就需根据不同的网页的不同的更新频度来定时再次爬取并下载对应的网页。
(2)统一更新策略:在这种策略下爬虫们不管不同页面是否具有的不同的更新频率,全部都以同一个预设的更新频率来定时重新再次下载爬取全部的网页。
(3)分类更新策略[12]:系统会根据不同网页更新频率的大小,将网页分为几类,然后设定每类的更新频次,同一类的页面更新频率一样。
IBM开发的webFountain [13]是一个由基于增量爬取策略的爬虫。它采用一种依据已经爬取下来的历史数据结果以及所处网页的更新速度来自主的改变爬虫爬取下载速度;天网增量爬虫系统[14] 是由北京大学所研发的,其策略是将所有页面分为新爬取页面和有更新的已经爬取过的页面两大类,对两类网页采用两类方法进行爬取;根据不同页面的更新频率的规律,对更新频率高的页面采取直接爬取策略,同时对新网页建立以索引的主要组织形式的网页网路结构。
3. 聚焦网络爬虫
聚焦网络爬虫(Focused Crawler),在学术界也被称之为主题网络爬虫(Topical Crawler) [15],其原理是,通过预设的定制的网页页面数据分析算法,利用对应的策略筛掉和预定的主题没有关联的网页链接,仅仅把和预定主题有关的网页链接信息存入系统的尚未进行爬取的待爬队列中,然后再依据开始前已预设指定的爬取下载对应网页的算法依次爬取存放于待爬取队列中的各页面URL地址。聚焦网络爬虫的设计初衷就是为了满足不同用户在特定领域获取其想要的特定信息。由于只需爬取相关主题信息,对硬件等处理资源与网路资源的节省的效果是显而易见。
但在做主题爬虫之前要做的一件事的就是对待爬取网页链接URL地址以及网页内容通过特定算法进行分析。按照其对指定主题的贡献度大小来进行排列,因为利用不同的决策机制所取得的最终结果也不尽相同,最后会导致爬取下载的次序也存在差异。一般情况下存在如下四种决策机制:
1) 根据链接本身的分析:通常会使用如下两种计算方法,PageRank[16]算法,其通过算法得到对应网页页面的PageRank值,之后再依据对应结果的大小顺序爬取。另一类方法是HITS算法[17],使用算法直接计算出之前已经爬取的网页的Authority和Hub值,并依据计算出来的值的大小来对其在爬取队列进行排序,最后根据顺序爬取。
2) 基于网页内容分析:鱼群搜索(Fish Search)算法[18],其原理是将部分网页的关键词作为主题去搜索,整合主题搜索策略与关键词策略,爬虫认为只要含有指定关键词的网页就是与需要找的主题相关的网页,然后将其抓取下来,但其存在一个明显的缺点就是不能计算出页面与关键词明确的关联度,会对之后抓取的结果造成影响。于是之后Herseovic[19]在鱼群算法的基础上充分发挥该算法的优点针对其存在的缺点提出改进意见,增加通过使用空间向量来获得该网页与指定主题的关联度作为一个变量形成一个新算法。
3) 基于语境图:Diligenti等学者提出通过建立语境图(Context Graphs)[20]的方法来培训机器使其能够在运行过程中自发获取记录相关网页的主题关联度,通过对比已获取的网页与当前网页之间的距离,距离大小的表示其与主题的关联度大小。 网络爬虫技术国内外研究现状(2):http://www.youerw.com/yanjiu/lunwen_23858.html