首页>>学生风采>>许昌学院贲静>>观点>>网络爬虫技术

网络爬虫技术

作者:贲静
日期:2010/5/20 22:45:42

   本文来自:贲静  http://abc.wm23.com/ilovehotses

   新浪博客: http://blog.sina.com.cn/bijing003

   新浪微博 :http://t.sina.com.cn/1735742574

       网络爬虫,又称为蜘蛛(Spider),或是网络机器人,BOT等。爬虫的存在是为了使得搜索引擎有丰富的资源。

Heritrix是一个由java开发的,开源的Web网络爬虫,用户可以使用它从网络上抓取想要的资源。Heritrix的难点在于运行它,由于需要许多的配置,因此稍有不慎就会失败,所以说运行Heritrix是一个难点。下面就Heritrix的运行步骤作以简单的介绍。

1)下载Heritrix的完整开发包,解压到本地指定的目录下。

2)在Heritrix目录下的conf中有一个heritrix.properties配置文件,在该文件中配置了大量与Heritrix运行息息相关的参数,这些参数主要是配置了Heritrix运行时的一些默认工具类,WebUI的启动参数,用户名,密码,以及Heritrix的日志格式等。

3)在配置完以上的文件后,就可以运行Heritrix了。

配置完Heritrix以后,就可以使用它来进行网页的抓取了,这里需要介绍的就是其相关的几个组件,Heritrix架构的相关组件有以下几种。

1)抓取任务CrawlOrder:它是抓取工作的起点。

2)中央控制器CrawlController:它是抓取任务的核心组件,因为它决定整个抓取任务开始和结束。它位于org.archive.crawler.framework中。

3)连接制造工厂Frontier:在Heritrix中,Frontier表示一种为线程提供连接的工具。它通过一些特定的算法来决定哪个链接接下来将被送入处理器链中,同时,它本身也负责一定的日志和状态报告功能。

4)用Berkeley DB实现的BdbFrontier:它是由美国Sleepycat公司开发的一套开放源代码的嵌入式数据库,为应用程序提供可伸缩的,高性能的,有事务保护功能的数据管理服务。

5Heritrix的多线程ToeThreadToePool:这是Heritrix提供的一个标准的线程池,它用于管理所有的抓取线程。

在搜索引擎的开发过程中,使用一个合适的爬虫来获取所需要的网页信息是第一步,这一步是整个系统成功的基础。

分享