网络爬虫总体介绍
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
附录2:开源爬虫
Sherlock Holmes收集和检索本地和网络上的文本类数据(文本文件,网 页),该项目由捷克门户网站中枢(Czech web portal Centrum)赞助并且 主用商用于这里;它同时也使用在。 YaCy是一个基于P2P网络的免费的分布式搜索引擎。 Ruya是一个在广度优先方面表现优秀,基于等级抓取的开放源代码的网络 爬虫。在英语和日语页面的抓取表现良好,它在GPL许可下发行,并且完全 使用Python编写。按照robots.txt有一个延时的单网域延时爬虫。 Universal Information Crawler快速发展的网络爬虫,用于检索存储和分析 数据; Agent Kernel,当一个爬虫抓取时,用来进行安排,并发和存储的java框 架。 是一个使用C#编写,需要SQL Server 2005支持的,在GPL许可下发行的 多功能的开源的机器人。它可以用来下载,检索,存储包括电子邮件地址, 文件,超链接,图片和网页在内的各种数据。 LWP:RobotUA(Langheinrich,2004)是一个在Perl5许可下发行的,可以 优异的完成并行任务的 Perl类库构成的机器人。
Company
LOGO
网络爬虫
1 3 2 3 4 3 5
网络ቤተ መጻሕፍቲ ባይዱ虫的定义
基本过程
主要模块
挑战与建议
附录:开源爬虫
网络爬虫 Crawler ,即Spider(网络爬虫),其定义有广义和狭 义之分。狭义上指遵循标准的 http 协议,利用超链接和 Web 文档检索方法遍历万维网的软件程序;而广义的定 义则是能遵循 http 协议,检索 Web 文档的软件都称之 为网络爬虫。 网络爬虫是一个功能很强的自动提取网页的程序,是搜索 引擎中最核心的部分,整个搜索引擎的素材库来源于网络 爬虫的采集。其性能好坏直接影响着搜索引擎整体性能和 处理速度。
Company
LOGO
挑战
太多和主题不相关的信息 HTML页面结构各不相同 下载的海量资源如何处理 大型网站对爬虫的限制
建议
明确的需求及根据 尽量限定主题范围 尽量限定网页范围 限定网页更新的时间范围 获取的最好是结构化的数据
附录1:开源爬虫
Methabot是一个使用C语言编写的高速优化的,使用命令行方式运行的, 在2-clause BSD许可下发布的网页检索器。它的主要的特性是高可配置性, 模块化;它检索的目标可以是本地文件系统,HTTP或者FTP。 Nutch是一个使用java编写,在Apache许可下发行的爬虫。它可以用来连 接Lucene的全文检索套件; Pavuk是一个在GPL许可下发行的,使用命令行的WEB站点镜像工具,可 以选择使用X11的图形界面。与wget和httprack相比,他有一系列先进的特性 ,如以正则表达式为基础的文件过滤规则和文件创建规则。 WebSPHINX(Miller and Bharat, 1998)是一个由java类库构成的,基于文 本的搜索引擎。它使用多线程进行网页检索,html解析,拥有一个图形用户 界面用来设置开始的种子URL和抽取下载的数据; WIRE-网络信息检索环境(Baeza-Yates 和 Castillo, 2002)是一个使用C++ 编写,在GPL许可下发行的爬虫,内置了几种页面下载安排的策略,还有一 个生成报告和统计资料的模块,所以,它主要用于网络特征的描述; Web Crawler是一个为.net准备的开放源代码的网络检索器(C#编写)。
3
网络爬虫基本过程
打开初始URL
解析WEB文档
抽 取 新 的 URL 加 入
采集网页
满足停止条件,结束采集
4
主要模块
网络爬虫基本过程如图所示,系统中主要模块如下: 控制器:是网络爬虫的中央控制器,它主要是负责根据系 统传过来的URL链接,分配一线程,然后启动线程调用爬 虫爬取网页的过程。 解析器:是负责网络爬虫的主要部分,其负责的工作主要 有:对网页的文本进行处理,如过滤功能,抽取特殊 HTML标签的功能,分析数据功能.下载网页数据,包括 html、图片、doc、pdf、多媒体、动态网页等。 资源库:主要是用来存储网页中下载下来的数据记录的容 器,并提供生成索引的目标源。中大型的数据库产品有: Oracle、Sql Server等