代码改变世界

网络爬虫 简介

2012-07-19 20:19  youxin  阅读(1327)  评论(0编辑  收藏  举报

  网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁,自动索引,模拟程序或者蠕虫

 由于网络资源太多,定向抓取相关网页资源的聚焦爬虫应运而生。聚焦爬虫是一个自动下载网页的程序,它根据既定的抓取目标,有选择的访问万维网上的网页与相关的链接,获取所需要的信息。与通用爬虫(general?purpose web crawler)不同,聚焦爬虫并不追求大的覆盖,而将目标定为抓取与某一特定主题内容相关的网页,为面向主题的用户查询准备数据资源

  网页的抓取策略可以分为深度优先、广度优先和最佳优先三种。深度优先在很多情况下会导致爬虫的陷入(trapped)问题,目前常见的是广度优先和最佳优先方法。

最佳优先搜索策略

  最佳优先搜索策略按照一定的网页分析算法,预测候选URL与目标网页的相似度,或与主题的相关性,并选取评价最好的一个或几个URL进行抓取。它只访问经过网页分析算法预测为“有用”的网页。存在的一个问题是,在爬虫抓取路径上的很多相关网页可能被忽略,因为最佳优先策略是一种局部最优搜索算法。因此需要将最佳优先结合具体的应用进行改进,以跳出局部最优点。将在第4节中结合网页分析算法作具体的讨论。研究表明,这样的闭环调整可以将无关网页数量降低30%~90%。

网页分析算法

网页分析算法可以归纳为基于网络拓扑、基于网页内容和基于用户访问行为三种类型。

 

 网络爬虫的组成

 

  在网络爬虫的系统框架中,主过程由控制器,解析器,资源库三部分组成。控制器的主要工作是负责给多线程中的各个爬虫线程分配工作任务。解析器的主要工作是下载网页,进行页面的处理,主要是将一些JS脚本标签、CSS代码内容、空格字符、HTML标签等内容处理掉,爬虫的基本工作是由解析器完成。资源库是用来存放下载到的网页资源,一般都采用大型的数据库存储,如Oracle数据库,并对其建立索引。

 控制器
    控制器是网络爬虫的中央控制器,它主要是负责根据系统传过来的URL链接,分配一线程,然后启动线程调用爬虫爬取网页的过程。
 
解析器
   解析器是负责网络爬虫的主要部分,其负责的工作主要有:下载网页的功能,对网页的文本进行处理,如过滤功能,抽取特殊HTML标签的功能,分析数据功能。
  
资源库
   主要是用来存储网页中下载下来的数据记录的容器,并提供生成索引的目标源。中大型的数据库产品有:Oracle、Sql Server等。

已有 1210 次阅读 2010-9-23 18:04 |个人分类:搜索引擎|系统分类:科研笔记|关键词:第一 网络爬虫

第一个实现网络爬行功能的网络爬虫Wanderer(World Wide Web Wanderer)诞生于1993年,由Matthew Gray在MIT博士期间用Perl语言实现,本意是用来度量当时的互联网大小,并不是用来为搜索引擎服务的,也未公开发布。Matthew Gray后来成了Google的工程师。

第一个公开发布的爬虫RBSE诞生于1994年,由两部分组成:负责抓取网页的“spider”和文本浏览器“mite”。

第一个应用于搜索引擎的爬虫WebCrawler诞生于1994年,由Brian Pinkerton完成,这只爬虫起初只是桌面程序的一部分,后来发展到web,也就成了公开的搜索引擎的蜘蛛了

 

参考:

开源网络爬虫

http://java-source.net/open-source/crawlers

http://en.wikipedia.org/wiki/Web_crawler