网络爬虫简介
另外一些不常使用的名字还有蚂蚁,自 动索引,模拟程序或者蠕虫。
1.2 用途
很多站点,尤其是搜索引擎,都使用 爬虫提供最新的数据,它主要用于提供它访 问过页面的一个副本,然后,搜索引擎就可 以对得到的页面进行索引,以提供快速访问。 蜘蛛也可以在web上用来自动执行一些任务, 例如检查链接,确认html代码;也可以用来 抓取网页上某种特定类型信息,例如抓取电 子邮件地址(通常用于垃圾邮件)。
教育技术系
网络爬虫
1、网络爬虫简介 2、通用网络爬虫和聚焦爬虫
3、网络爬虫的抓取策略
4、几种常见的网络爬虫
5、Metaseeker
1、网络爬虫简介
1.1 定义
1.2 用途
1.3 原理
1.1 网络爬虫定义
网络爬虫(Crawler)又被称为网页蜘蛛, 网络机器人,在FOAF社区中,更经常的被 称为网页追逐者,它是一种按照一定的规则, 自动的抓取万维网信息的程序或者脚本。
3、网络爬虫的抓取策略
3.1 网页搜索策略
3.2 爬行策略
3.1 网页搜索策略
网页的抓取策略可以分为深度优先、广 度优先和最佳优先三种。深度优先在很多情 况下会导致爬虫的陷入(trapped)问题,目前 常见的是广度优先和最佳优先方法。
3.1.1 广度优先搜索策略
广度优先搜索策略是指在抓取过程中, 在完成当前层次的搜索后,才进行下一层次 的搜索。该算法的设计和实现相对简单。在 目前为覆盖尽可能多的网页,一般使用广度 优先搜索方法。也有很多研究将广度优先搜 索策略应用于聚焦爬虫中。其基本思想是认 为与初始URL在一定链接距离内的网页具有 主题相关性的概率很大。
5.2.1.3 下载和安装
下载和安装方式有两种:
(1)下载的同时进行安装:在下载弹 出窗口中选择“运行”,并指定运行程序 Firefox (2)下载保存后安装:在下载弹出窗 口中选择“保存”,以后安装
5.2.2 使用方法 Metaseeker的一位使用者免费提供了 Metaseeker的使用教程。下面介绍一下学习 总结以及使用中的一些问题。
5.1.2 优点
众所周知,Web页面显示的信息是给人 阅读的,对于机器来说,是无结构的, MetaSeeker解决了一个关键问题:将无结构 的Web页面信息转换成有结构的适于机器处 理的信息。可以应用于专业搜索、Mashup和 Web数据挖掘领域。
5.1.3 工具包的组成 (a) MetaStudio:是Web页面信息结构描 述工具,提供GUI界面,作为Firefox扩展 (Firefox extension)发行,推荐与 MetaCamp和DataStore配套使用,这样信息 结构描述文件和各种信息提取指令文件就可 以上载到MetaCamp和DataStore服务器,以 拥有协同描述页面信息结构和分享信息提取 成果的能力。
2.3 聚焦爬虫
2.4 两种爬虫比较
2.1 前言
随着网络的迅速发展,万维网成为大 量信息的载体,如何有效地提取并利用这 些信息成为一个巨大的挑战。搜索引擎 (Search Engine),例如传统的通用搜索引擎 AltaVista,Yahoo!和Google等,作为一个 辅助人们检索信息的工具成为用户访问万 维网的入口和指南。但是,这些通用性搜 索引擎也存在着一定的局限性。
(b) DataScraper:是Web页面信息提取 (网页抓取/抽取)工具,利用MetaStudio生成 的各种信息提取指令文件,对特定页面的信 息进行连续提取,并将信息存储在DataStore 服务器中。提供GUI界面,作为Firefox扩展 发行,技术核心是一个自研的工作流引擎, 由信息提取工作流指令文件驱动。
网页爬虫的行为通常是四种策略组合的结果: (a)选择策略,决定所要下载的页面; (b)重新访问策略,决定什么时候检查页面的 更新变化;
(c)平衡礼貌策略,指出怎样避免站点超载;
(d)并行策略,指出怎么协同达到分布式抓取 的效果。
4、几种常见的网络爬虫
4.1 Google爬虫 4.2 Mercator 4.3 北大天网 4.4 Internet Archive 4.5 UbiCrawler 4.6 IRLBOT
相对于通用网络爬虫,聚焦爬虫还需要解决三 个主要问题: (1)对抓取目标的描述或定义; (2)对网页或数据的分析与过; (3)对URL的搜索策略。 抓取目标的描述和定义是决定网页分析算法 与URL搜索策略如何制订的基础。而网页分析算 法和候选URL排序算法是决定搜索引擎所提供的 服务形式和爬虫网页抓取行为的关键所在。这两 个部分的算法又是紧密相关的。
2.3 聚焦爬虫
聚焦爬虫根据一定的网页分析算法过 滤与主题无关的链接,保留有用的链接并 将其放入等待抓取的URL队列。然后,它将 根据一定的搜索策略从队列中选择下一步 要抓取的网页URL,并重复上述过程,直到 达到系统的某一条件时停止。
2.4 两种爬虫比较
通用网络爬虫 聚焦爬虫 通用网络爬虫的目标 聚焦爬虫的目标是尽可 是尽可能多的采集信息页 能快地爬行、采集尽可能多 面,而在这一过程中它并 的与预先定义好的主题相关 不太在意页面采集的顺序 的网页。聚焦爬虫可以通过 目 和被采集页面的相关主题。 对整个Web按主题分块采集, 标 这需要消耗很多的系统资 并将不同块的采集结果整合 源和网络带宽,并且对这 到一起,以提高整个Web的 些资源的消耗并没有换来 采集覆盖率和页面利用率。 采集页面的较高利用率。
(c) MetaCamp:是存储和管理信息结构 描述文件的服务器。作为一个应用 (application)部署在Tomcat等Servlet容器 中。 (d) DataStore:是存储和管理信息提取 线索、各种信息提取指令文件和信息提取结 果文件的服务器,集成Lucene v2.3.2技术, 能够为结果文件建立索引。作为一个应用 (application)部署在Tomcat等Servlet容器 中。
4.5 UbiCrawler
UbiCrawler项目是一个高性能的爬虫, 主要侧重于完全分布性和高容错率。它的主 要特性包括:平台独立性、良好的伸缩性、 高效的分配函数、各功能模块的完全分布式、 没有单点故障的问题。
4.6 IRLBOT
IRLBOT是TAMU开发的大规模网络 Crawler,它们宣称已经抓取了60亿网页。该 爬虫能胜任100亿级网页爬行,可伸缩性很 强,在“礼貌”爬行和反垃圾页面上做了很 多工作。
5、Metaseeker
5.1 Metaseeker的特点
5.2 Metaseeker的使用 5.2.1
5.1 Metaseeker的特点
5.1.1 定义
MetaSeeker是一个Web网页抓取/数据抽 取/页面信息提取工具包,能够按照用户的 指导,从Web页面上筛选出需要的信息,并 输出含有语义结构的提取结果文件(XML文 件)。
为了解决通用搜索引擎的局限性,定向 抓取相关网页资源的聚焦爬虫应运而生。聚 焦爬虫与通用爬虫不同,聚焦爬虫并不追求 大的覆盖,而将目标定为抓取与某一特定主 题内容相关的网页,为面向主题的用户查询 准备数据资源。
2.2 通用网络爬虫
通用网络爬虫从一个或若干初始网页 的URL开始,获得初始网页上的URL,在 抓取网页的过程中,不断从当前页面上抽 取新的URL放入队列,直到满足系统的一 定停止条件。
4.3 北大天网
北大天网是国内高性能网络爬虫的先行 者,它的架构经历了集中式向分布式的改进, 能够胜任10亿级的网页搜索,其基于站点的 两阶段哈希机制有效地解决了搜索过程中 Crawler动态加入和退出的问题。
4.4 Internet Archive
Internet Archive的每台Crawler同时对64 个站点进行爬行,每个站点被唯一分派到一 个Crawler上。Crawler从磁盘上读取URL列 表,采取异步10方式下载网页,并抽取链接。 如果该链接属于本机抓取,则放人待抓取列 表,存到磁盘上,并周期性地传送到其它 Crawler上。
FreeFormat映射
可对字段和字段组顶层容器进行映射 对网页代码的结构进行映射 1.基本不受网页代码位置变化影响 2.对顶层容器映射时,只需对首条记录做 一次映射即可 具有id、class标志 1.自动为此信息属性添加block特性 2.并默认为提取此代码段下所有文本内容 3.以上两个设定均可自由修改
1.3 原理
一个网络蜘蛛就是一种机器人,或者软 件代理。大体上,它从一组要访问的URL链 接开始,可以称这些URL为种子。爬虫访问 这些链接,它辨认出这些页面的所有超链接, 然后添加到这个URL列表,可以称作检索前 沿。这些URL按照一定的策略反复访问。
2、通用网络爬虫和聚焦爬虫
2.1 前言
2.2 通用网络爬虫
另外一种方法是将广度优先搜索与网 页过滤技术结合使用,先用广度优先策略抓 取网页,再将其中无关的网页过滤掉。这些 方法的缺点在于,随着抓取网页的增多,大 量的无关网页将被下载并过滤,算法的效率 将变低。
3.1.2 最佳优先搜索策略
最佳优先搜索策略按照一定的网页分析 算法,预测候选URL与目标网页的相似度, 或与主题的相关性,并选取评价最好的一个 或几个URL进行抓取。它只访问经过网页分 析算法预测为“有用”的网页。
5.2.2.1 三种映射的区别
抓取网页信息时需要将各字段值映射 到已构建好的信息属性(我们要抓取的内 容名称)中,有内容映射、FreeFormat映 射和样例复制品映射三种。下面用一个表 格来说明一下三者的区别。
内容映射
用 途 原 理 优 劣 适 用 提 取 只对字段进行 映射 对网页代码的 位置进行映射 易受网页更新 影响
5.2 Metaseeker的使用
5.2.1 安装
5.2.1.1 硬件环境要求
Web页面语义结构描述工具MetaStudio 的工作台比较复杂,显示器的分辨率在 1280X1024以上才能完整展现。 Web页面信息提取工具DataScraper对显 示器分辨率没有特别的要求。