搜索引擎中网络爬虫的设计与实现
2011-08-15刘伟
刘 伟
南京铁道职业技术学院,江苏南京 210015
搜索引擎中网络爬虫的设计与实现
刘 伟
南京铁道职业技术学院,江苏南京 210015
随着信息时代的来临,互联网逐渐渗透到我们生活中的每个角落,其中搜索引擎的应用,更是为我们的生活和学习带来了很大的便利。研究搜索引擎中网络爬虫的设计与实现,对于优化搜索引擎性能,提升搜索引擎效率有着重要的意义。本文主要分析了基于主题搜索引擎中网络爬虫的设计与实现,并提出了相应的方法和手段。
主题搜索引擎;网络爬虫;设计;实现
搜索引擎的使用,使人们能够更加方便快捷地从网络上获取想要的信息。随着互联网和计算机技术的不断发展,传统的通用搜索引擎已经很难满足人们的信息检索要求,而主题搜索引擎的产生为信息检索服务水平的提高带来了福音。而作为搜索引擎的基础部分,网络爬虫对于信息检索服务的实现起着举足轻重的作用。因而只有根据搜索引擎的发展和创新不断优化网络爬虫的设计,才能提高网络爬虫的性能以及主题搜索引擎的应能。
1 主题搜索引擎和网络爬虫
将互联网中大量的进行信息选取、整理存储并建立索引,再提供友好接口,使用户在这些信息中及时、准确、快速获取需求的信息的查询系统就是搜索引擎。
主题搜索引擎,是以构建某一专题领域或者某一学科领域的因特网信息资源库为目的,在互联网上智能的搜集符合设定专题要求或者符合该学科需要的信息和资源。主题搜索引擎的产生,克服了传统搜索引擎在信息检索服务中的诸多困难,不但使信息检索变得更加细致、精确,使搜索到的数据更加精确和全面,搜索到的信息更加深入,同时也使相关专题信息资源和学科信息资源的更新更加及时,总之,大大提高了信息检索服务质量,提高了搜索引擎的性能。
网络爬虫是搜索引擎中,探索与下载网页资源的程序,在搜索的过程中,程序自己判断下一步抓取的对象,具有相应的智能性,因此又叫网络机器人。网页之间的链接,使互联网形成了网状的结构,爬虫程序类似这张网上的蜘蛛,所以叫网络蜘蛛。
网络爬虫作为搜索引擎的基础组成部分,起着重要的作用。随着应用的不断深化,技术的快速进步,网络爬虫更加普遍地运用于站点结构分析、页面有效性分析、内容安全检测、用户兴趣挖掘以及个性化信息获取等多种服务中。
通用网络爬虫要能尽量收集页面,进行的过程中,不考虑处理页面的前后顺序、获取的页面与主题是否相关。在传统爬虫基础上,加入了Web数据、挖掘等相关技术,使爬虫在工作的过程中,沿着能够找到目标页面的路径进行有效的爬行。提高现有搜索引擎查找的精度、更新的周期是主题爬虫的功能,主题网络爬虫的基本思想就是按着预先指定的主题,对下载的页面内容及链接进行分析,并计算当前页面与主题相关率,并预测下一个要处理的链接,确保在爬行的过程中,获取与主题关系较多的页面,对不能找到目标页面的路径减少爬取,其中,主题网络爬虫要尽可能地过滤掉页面中,关系不大的链接,保留可能与主题相对密切的链接,放入相应队列中;再运用一定的方法,从队列中选出要处理的页面的链接。
2 主题网络爬虫的设计和实现策略
面向主题搜索引擎的网路爬虫以普通网络爬虫为基础,并在此基础上进行扩展和调整,使其具备主题网络爬虫独有的功能,进而实现面向主题的网页信息提取。近年来,随着人们对主题搜索引擎渴望成都的日益增加,面向主题的网络爬虫研究已经成为学界重点研究的问题之一。面向主题的信息自动采集系统可分为4个部分,即主题的选择、Web信息的提取、页面过滤、链接过滤。以下进行一一阐述。
2.1 主题的选择
主题可以是一个含义和概念,也可以是一个词语、短语、一个段落甚至一篇文章,总之,从语义上看,主题的概念是十分广泛的。从概念上看,主题的范围可大可小,当主题的范围较为抽象和模糊使,其含义也相应模糊,相反地,如果主题的界限相对明确,其含义也就相对明确清晰。主题的选择是面向主题的Wed信息提取的重要基础。
2.2 面向主题的Web信息提取
网络爬虫系统中,Web信息提取部分通过各种Web协议自动提取Web站点中的有效信息,这些有效信息包括图像、文本、声音、影响等等,所涉及到相关协议包括FTP、HTTP、BBS等等。除此之外,Web信息搜索还可以根据用户的具体实际需要,搜索和采集Web Chat等特殊形式的Web信息。
2.3 页面过滤
在本系统中,主题网络蜘蛛主要处理的是HTML页面。因此,在页面分析与过滤过程中,我们所做的工作主要包括对HTML页面进行语法分析,以提取出网页正文、链接、链接相关标签属性数据及其它相关内容,然后对网页进行主题相关性判别,从而过滤掉与主题无关页面,提高主题网络蜘蛛的主题信息提取的准确性。
2.3.1 HTML语法分析
HTML语法分析过程可分为SGML标记文法层和HTML标记层:
SGML文法层的功能是将页面分解成正文、转义字符、注释、标记等等,标记文法分析器的主工作原理是:从标记文法创建状态转换表,根据输入流中的字符切换状态,在特定状态到达时执行相应语义操作。HTML表基层的任务是维护当前解析正文的各种状态。
2.3.2 页面相关性判断
在进行Web主题信息提取中,提取的URL通过了主题相关性判别。即使这样,提取的页面内容,与设定的主题可能相差很远。这将影响主题页面信息的提取准确率。所以,在页面提取之后,要对页面进行与主题有关性的判别,以淘汰掉与主题无关页面。
2.4 链接过滤
面向主题的网络蜘蛛,在选取Web信息时面向选定的主题。要提高主题Web信息提取速度和准确率,系统需要对采集UI,进行URl和主题的关系的判定,这也叫做链接过滤,或者链接预测。根据高预测值优先采集、低预测值要舍弃的原则,对发现的URL进行剪枝处理,能大幅度减少采集页面的数量,提高主题信息搜索时效性,对于主题搜索网络蜘蛛来说,搜索策略中的关键所在是如何评价链接对于主题的价值,即链接价值的计算方法,
面向主题的网络爬虫系统中链接过滤常见的算法是EPR算法。尽管PageRank方法,能获得Web上的重要页面,其确定的重要页面却是针对广泛主题的,不能面向具体主题的。作为另一个被广泛接受的超链分析算法HITS,基于权威页面和中心页面相互加强的设计模型,提供了发现权威页面的有效办法。处理不好主题偏离问题,也就是紧密链接,也是HITS算法存在的一个最大的弱点,就是TKC(Tightly-Knit Community Effect,简称TKC)现象口51。为此,我们对PageRank方法做了如下改进:在链接关系的基础上,加入针对链接的相关主题权重,再引入链接网页之间主题度,相互反馈加强的考虑,使其所产生的重要页面是针对某一个主题的,这就是EPR算法。
3 结论
随着计算机的普及和互联网技术的不断发展,人们对搜索引擎的使用变得越来越主动,越来越频繁,信息检索服务也在向着个性化、精细化等方向发展。传统的搜索引擎虽然在过去一定程度上满足了人们对信息检索的渴求,但是在科技发展日新月异、生活和工作节奏逐渐加快的今天,已经无法适应人们越来越高的信息检索需求,而面向主题的搜索引擎的产生极大地提高了信息检索服务质量和效率。
网络爬虫作为面向主题的搜索引擎的重要基础和组成部分,其设计质量的提升对于面向主题的搜索引擎功能的提升有着重要的意义。近年来,网络爬虫以哪种访问策略对Web进行访问,能提高面向主题的搜索引擎的搜索速度,以及设计网络爬虫系统的各种算法的设计和改进已经成为学界研究的热点问题。笔者在文中阐述了面向主题搜索引擎的网络爬虫的设计与实现策略,阐述了爬虫系统的构成,即主题的选择、Web信息的提取、页面过滤、链接过滤四部分,并进行了一一的分析和总结,最终提出了对PageRank算法的改进策略,以期为面向主题搜索引擎中网络爬虫的设计与实现的研究作出应有的理论贡献和实践参考。
[1]卢亮,张博文.搜索引擎原理、实践与应用[M].北京:电子工业出版社,2007.
[2]谢新洲.网络信息检索技术与案例[M].北京:北京图书馆出版社,2005:29-30.
[3]周立柱,林玲.聚焦爬虫技术研究综述[J].计算机应用,2005,25(9):1965-1989.
[4]刘金红,陆余良.主题网络爬虫研究综述[J].计算机应用研究,2007,24(10):26-29,47.
[5]刘玮玮.搜索引擎中主题爬虫的研究与实现田[D].南京:南京理工大学,2006.
[6]杨溥.搜索引擎中爬虫的若干问题研究[D].北京:北京邮电大学,2009,1.
TP393
A
1674-6708(2011)53-0178-02