2 三种开源网络爬虫性能比较
目前,互联网上推出有许多的开源网络爬虫,易于开发和扩展的主要包括 Nutch、Larbin、Heritrix 等,下面即针对这三类爬虫进行实用性内容介绍[5]:
( 1) Heritrix 是 Java 开发的开源 Web 爬虫系统,是 Inter-net Archive 的一个爬虫项目。这是开源、可扩展、Web 范围内并带有存档性质的网络爬虫。该系统允许用户选择扩展各个组件,进而实现自定的抓取逻辑。Heritrix 默认提供的组件能够完成通用爬虫的功能,用户既可根据实际需求定制相应模块,也可实现聚焦爬虫的功能。
( 2) Larbin 是一种由 C + + 开发的开源网络爬虫,larbin能够跟踪页面的 URL 进行扩展的抓取,从而为搜索引擎提供广泛的数据来源。该程序由法国人 Sébastien Ailleret 独立开发,只是 2003 年后,Labin 已退出了更新。
( 3) Nutch 是 Apache 的子项目之一,且是 Lucene 下的子项目,重点是其中提供了搜索引擎所需的全部工具,当然,Nutch 只获取并保存可索引的内容,却无法保持抓取网页原貌。
在此,研究可得三种开源网络爬虫的功能特点和使用范围比较,具体如表 1 所示。
通过如上内容分析,可以得出以下结论:
( 1) 从功能方面来说,Heritrix 与 Larbin 的功能类似,都是一个纯粹的网络爬虫,提供网站的镜像下载。Nutch 则是一个网络搜索引擎框架,爬取网页只是其功能的一部分。
( 2) 从分布式处理来说,Nutch 支持分布式处理,而其它两个尚不支持。
( 3) 从爬取的网页存储方式来说,Heritrix 和 Larbin 都是将爬取所获内容保存为原始类型的内容,而 Nutch 是将内容保存到其特定格式中去。
( 4) 对于爬取所获内容的处理来说,Heritrix 和 Larbin 都是将爬取后的结果内容不经处理直接保存为原始内容。而Nutch 却将对文本进行包括链接分析、正文提取、建立索引等深层处理。
( 5) 从爬取的效率来说,Larbin 效率较高,因为其实现语言是 c + + 并且功能相对单一,但是该程序缺乏必要的更新服务。
在进行了有关软件的扩展性、镜像保存方式及软件更新等方面因素的综合分析比对后,本文将择取并利用 Heritrix开源软件来实现聚焦爬虫的设计。
3 基于 Heritrix 软件聚焦爬虫的设计
在利用开源 Heritrix 软件进行聚焦爬虫设计时,以中国西藏网为例,针对有目标网页特征的网页级信息配置正则表达式,采用深度优先搜索策略进行 URL扩展,利用网页内容关于“主题相关度”[6]的分析算法进行主题判断,实现聚焦爬虫的网站采集功能。
3. 1 开源 Heritrix 软件工作原理
Heritrix 开源软件采集网页的方法是采取深度优先搜索策略,遍历网站的每一个 URI,分析并生成本地文件及相应的日志信息等,Heritrix 软件抓取的是与原网页一致的、完整的深度复制,包括图像以及其他非文本内容,抓取后并存储相关的内容。在网页采集过程中,Heritrix 软件不对页面上内容进行修改,爬行相同的 URL 不进行替换。Heritrix 软件通过 Web 用户界面启动、监控、调整、允许弹性地定义要获取的 URL.Heritrix 软件包含核心模块和插件模块。核心模块能够配置但不能覆盖,插入模块配置是否加载,也可以由第三方模块取代。
3. 2 开源 Heritrix 软件关键模块的改进
3. 2. 1 修改 Extractor 解析器
修改 Heritrix 的 Extractor 解析器时,可采用正则表达式的方式扩展待抓取的网页。例如,在抓取中国西藏网的新闻时,在 Extractor 解析器配置正则表达式: http: / /tb. tibet. cn/[0 -9a - z]* /[a - z/]* /[0 -9]* /[0 -9a - z -]* . htm( |l) S|,这样就把服务器域名下的网页所有信息全部抓取下来。但是,考虑垂直搜索引擎的使用范围和聚焦爬虫对网页主题的过滤功能,需要设计与实际主题搜索应用相匹配的专用解析器,专用解析器 extract( CrawlURL) 要实现以下功能:
( 1) 对所有不含有要抓取的结构化信息页面的 URL、又不含有可以集中提取前者 URL 的种子型 URL,都不作处理。
( 2) 从可以集中提取含结构化信息页面 URL 的种子型URL( 如地方新闻目录 URL) ,提取全部的含结构化信息页面的 URL( 如地方信息列表 URL) .
( 3) 从含结构化信息页面的 URL 提取所需的结构化信息,并加以记录。
3. 2. 2 扩展 Frontierscheduler 模块
FrontierScheduler 是一个 PostProcessor,其作用是将 Ex-tractor 所分析得出的链接加入到 Frontier 中,以待继续处理,聚焦爬虫实现关键词对主题的判断算法就在该模块中构建并执行。主题相关度判断的关键代码如下:
3. 3 Heritrix 聚焦爬虫接口的设计
Heritrix 网络爬虫是一个通用的网页采集工具,需要对Heritrix 抓取和分析网页的行为进行一定的控制,修改 Ex-tractor 和 Frontierscheduler 模块后,需要对其各个功能接口进行操作调试,由此保证聚焦爬虫功能的全面实现。下面即对重要功能接口进行必要介绍。
( 1) 应用接口
在设计聚焦爬虫时,应定制一个应用接口模块以供用户使用,具体将负责与 Heritrix 软件关联,并提供启、停爬虫、获取网址、采集关键词等功能实现。
( 2) 数据库查询和修改接口
在设计聚焦爬虫时,应设计相应的数据库接口,负责下载并发现与主题相关的网页信息、再保存到数据库的表中。存储的字段包括: 网页 URL、本地存储相对路径、下载时间、HTTP 头中抽取的网页编码,关键词 id 等。
( 3) 去重接口
因为 Heritrix 对相同的 URL 不进行替换,爬虫工作时会下载大量重复的网页,为了节省空间、并获取准确的采集结果,就必须按照设定规则对重复下载的网页进行删除。
4 结束语
通过以上对开源 Heritrix 软件的改进,聚焦爬虫已能根据预设的关键词进行网站抓取,并按照算法判断,当网页的主题相关度阈值大于 0. 6 时,聚焦爬虫即下载网页,至此爬虫实现了指定网站的主题搜索。综上可见,可以改进开源网络爬虫并使其在垂直搜索引擎中获得成功理想使用。
参考文献:
[1]刘运强。 垂直搜索引擎的研究与设计[J]. 计算机应用与软件,2010,127( 7) : 130 - 132.
[2]刘伟光。 一种基于改进向量空间模型的藏文主题网页采集方法[J]. 图书馆学研究,2014,16: 55 -62.
[3]陈欢。 面向垂直搜索引擎的聚焦网络爬虫关键技术研究与实现[D]. 武汉: 华中师范大学,2014.
[4]焦赛美。 网络爬虫技术的研究[J]. 琼州学院学报,2010,18( 5) : 28 -30.
[5]网络爬虫浅析[EB/OL]. [2011 - 03 - 05].
[6]罗刚,王振东。 自己手动写网络爬虫[M]. 北京: 清华大学出版社,2010: 34 - 36.
1、引言近年来,随着数字化教育浪潮的不断推进,我国在教育资源建设方面已经取得了巨大的成就,各类教育资源的数量巨大且呈现几何级数增长。随着搜索引擎技术的发展,通用搜索引擎的功能变得日益强大,取得了很大的成功,但其仍有局限性,如搜索的深度不够,...
网络爬虫作为搜索引擎技术的核心技术,是按一定遍历策略,以网页之间的链接为路径,抓取网页必要信息,并将其下载到本地存储设备上,以便进行信息预处理的程序或脚本。随着互联网的普及与搜索引擎技术的不断发展,网络爬虫技术作为搜索引擎的核心技术,已被...
网络爬虫是搜索引擎技术当中的一类核心性技术,其技术主要是以遍历策略为基准,借助网页链接来收集整合网页当中必要类的数据信息,同时把其数据信息下载存储到本地的相应设备上,使得数据信息的预处理程序以及脚本等的使用变得更为流畅。...
1引言在这个信息爆炸的时代,搜索引擎已经成为一个新兴而重要的计算机应用领域,更是成为全球资本关注的一个亮点.搜索引擎克服了数据库中存在的不足,为数据的检索提供了更为方便快捷的方式.搜索引擎是以一定的策略在指定的搜索空间上收集和查找信息,对信...
通过对爬虫理论的相关理解, 将互联网上海量的信息按需要加以分类和存储, 并最终展示给特定用户的特定领域需求的信息, 避免网上海量信息的视觉冲击, 从而达到准确, 高效检索的目的。...
以搭建节能减排领域的垂直搜索引擎为需求背景,利用Nutch开源框架,结合网页模板、向量空间模型以及朴素贝叶斯算法等技术,实现了垂直搜索引擎的开发。实验证明,完成的搜索引擎初步实现了对节能减排相关的信息检索,降低了工作人员获取该领域信息的难度。 ...
对于网页时效性问题可以将权重高的网络站点和权重低的网络站点分开处理,对高权重和低权重的站点内容分别以合适的高频率进行抓取,并将抓取的结果置于缓存中,索引程序对缓存中的数据进行处理,这样可以使得高权重与低权重站点抓取并行处理,数据抓取与索引建...
1网络爬虫的历史及现状网络爬虫是一个自动提取网页的程序,如果把互联网比喻成一个蜘蛛网,那么爬虫就是在网上爬来爬去的蜘蛛。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列...
绍兴图书馆数字化工程经过10余年的建设,目前已拥有较为完善的软、硬件设施,积累了一定规模的数字资源,在特色数据库建设以及公共图书馆数字资源整合门户建设方面已具雏形,相继开通了多项数字化服务项目.2011年绍兴图书馆数字资源访问、下载量突破了...
1传统搜索引擎存在问题(1)目录式搜索的缺陷是速度慢目录式搜索的用户界面基本上都是分级结构,提供几个大类入口,用户一级一级地向下查询,经过若干人工搜索后找到需要查询的结果.它虽然可以找到需要的信息,但是其死链接较多,要依赖手工操作,按照分...