1、o(2)通用搜索引擎的目标是尽可能大的网络覆盖率,有限的搜索引擎服务器资源与无限的网络数据资源之间的矛盾将进一步加深。o(3)万维网数据形式的丰富和网络技术的不断发展,图片、数据库、音频/视频多媒体等不同数据大量出现,通用搜索引擎往往对这些信息含量密集且具有一定结构的数据无能为力,不能很好地发现和获取。o(4)通用搜索引擎大多提供基于关键字的检索,难以支持根据语义信息提出的查询。聚焦爬虫o为了解决上述问题,定向抓取相关网页资源的聚焦爬虫应运而生。聚焦爬虫是一个自动下载网页的程序,它根据既定的抓取目标,有选择的访问万维网上的网页与相关的链接,获取所需要的信息。o与通用爬虫(general pur
2、pose web crawler)不同,聚焦爬虫并不追求大的覆盖,而将目标定为抓取与某一特定主题内容相关的网页,为面向主题的用户查询准备数据资源。垂直搜索的本质o从主题相关的领域内,获取、加工与搜索行为相匹配的结构化数据和元数据信息。如数码产品mp3:内存、尺寸、大小、电池型号、价格、生产厂家等,还可以提供比价服务爬虫基本原理 o网络爬虫是通过网页的链接地址来寻找网页,从一个或若干初始网页的URL开始(通常是某网站首页),遍历 Web 空间,读取网页的内容,不断从一个站点移动到另一个站点,自动建立索引。在抓取网页的过程中,找到在网页中的其他链接地址,对 HTML 文件进行解析,取出其页面中的子
3、链接,并加入到网页数据库中,不断从当前页面上抽取新的URL放入队列,这样一直循环下去,直到把这个网站所有的网页都抓取完,满足系统的一定停止条件。爬虫基本原理 o另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索。网络爬虫分析某个网页时,利用 HTML 语言的标记结构来获取指向其他网页的 URL 地址,可以完全不依赖用户干预。o如果把整个互联网当成一个网站,理论上讲网络爬虫可以把互联网上所有的网页都抓取下来爬虫基本原理 o而且对于某些主题爬虫来说,这一过程所得到的分析结果还可能对以后抓取过程给出反馈和指导。正是这种行为方式,这些程序才被称为爬虫(sp
4、ider)、crawler、机器人。爬虫基本原理 oSpider怎样抓取所有的 Web 页面呢?o在Web出现以前,传统的文本集合,如目录数据库、期刊文摘存放在磁带或光盘里,用作索引系统。o与此相对应,Web 中所有可访问的URL都是未分类的,收集 URL 的唯一方式就是通过扫描收集那些链向其他页面的超链接,这些页面还未被收集过。爬虫基本原理 o从给定的 URL 集出发,逐步来抓取和扫描那些新的出链。这样周而复始的抓取这些页面。这些新发现的 URL 将作为爬行器的未来的抓取的工作。o随着抓取的进行,这些未来工作集也会随着膨胀,由写入器将这些数据写入磁盘来释放主存,以及避免爬行器崩溃数据丢失。没
5、有保证所有的 Web 页面的访问都是按照这种方式进行,爬行器从不会停下来,Spider 运行时页面也会随之不断增加。o页面中所包含的文本也将呈交给文本索引器,用于基于关键词的信息索引。工作流程 o网络爬虫是搜索引擎中最核心的部分,整个搜索引擎的素材库来源于网络爬虫的采集,从搜索引擎整个产业链来看,网络爬虫是处于最上游的产业。其性能好坏直接影响着搜索引擎整体性能和处理速度。o通用网络爬虫是从一个或若干个初始网页的上的 URL 开始,获得初始网页上的 URL 列表,在抓取网页过程中,不断从当前页面上抽取新的 URL 放入待爬行队列,直到满足系统的停止条件。工作流程 o网络爬虫基本架构如图所示,其各
6、个部分的主要功能介绍如下:o1页面采集模块:该模块是爬虫和因特网的接口,主要作用是通过各种 web 协议(一般以 HTTPFTP 为主)来完成对网页数据的采集,保存后将采集到的页面交由后续模块作进一步处理。其过程类似于用户使用浏览器打开网页,保存的网页供其它后续模块处理,例如,页面分析、链接抽取。工作流程 o2页面分析模块:该模块的主要功能是将页面采集模块采集下来的页面进行分析,提取其中满足用户要求的超链接,加入到超链接队列中。页面链接中给出的 URL 一般是多种格式的,可能是完整的包括协议、站点和路径的,也可能是省略了部分内容的,或者是一个相对路径。所以为处理方便,一般进行规范化处理,先将其
7、转化成统一的格式。工作流程 o3、链接过滤模块:该模块主要是用于对重复链接和循环链接的过滤。例如,相对路径需要补全 URL,然后加入到待采集 URL 队列中。此时,一般会过滤掉队列中已经包含的 URL,以及循环链接的URL。工作流程 o4页面库:用来存放已经采集下来的页面,以备后期处理。o5待采集 URL 队列:从采集网页中抽取并作相应处理后得到的 URL,当 URL 为空时爬虫程序终止。o6初始 URL:提供 URL 种子,以启动爬虫关键技术分析关键技术分析o抓取目标的定义与描述o网页URL的搜索策略o网页的分析与信息的提取抓取目标的定义与描述 o针对有目标网页特征的网页级信息对应网页库级垂
8、直搜索,抓取目标网页,后续还要从中抽取出需要的结构化信息。稳定性和数量上占优,但成本高、性活性差。o针对目标网页上的结构化数据 对应模板级垂直搜索,直接解析页面,提取并加工出结构化数据信息。快速实施、成本低、灵活性强,但后期维护成本高。URL 的搜索策略的搜索策略 网络爬虫 URL 抓取策略有:oIP 地址搜索策略o广度优先o深度优先o最佳优先URL 的搜索策略的搜索策略 o基于IP地址的搜索策略o先赋予爬虫一个起始的 IP 地址,然后根据 IP 地址递增的方式搜索本口地址段后的每一个 WWW 地址中的文档,它完全不考虑各文档中指向其它 Web 站点的超级链接地址。o优点是搜索全面,能够发现那
9、些没被其它文档引用的新文档的信息源o缺点是不适合大规模搜索URL 的搜索策略的搜索策略 o广度优先搜索策略o广度优先搜索策略是指在抓取过程中,在完成当前层次的搜索后,才进行下一层次的搜索。这样逐层搜索,依此类推。o该算法的设计和实现相对简单。在目前为覆盖尽可能多的网页,一般使用广度优先搜索方法。o很多研究者通过将广度优先搜索策略应用于主题爬虫中。他们认为与初始 URL 在一定链接距离内的网页具有主题相关性的概率很大。URL 的搜索策略的搜索策略 o另外一种方法是将广度优先搜索与网页过滤技术结合使用,先用广度优先策略抓取网页,再将其中无关的网页过滤掉。这些方法的缺点在于,随着抓取网页的增多,大量
10、的无关网页将被下载并过滤,算法的效率将变低。o使用广度优先策略抓取的顺序为:A-B、C、D、E、F-G、H-I。URL 的搜索策略的搜索策略 o深度优先搜索策略o深度优先搜索在开发网络爬虫早期使用较多的方法之一,目的是要达到叶结点,即那些不包含任何超链接的页面文件。o从起始页开始在当前 HTML 文件中,当一个超链被选择后,被链接的 HTML 文件将执行深度优先搜索,一个链接一个链接跟踪下去,处理完这条线路之后再转入下一个起始页,继续跟踪链接。即在搜索其余的超链结果之前必须先完整地搜索单独的一条链。URL 的搜索策略的搜索策略 o深度优先搜索沿着 HTML 文件上的超链走到不能再深入为止,然后
11、返回到某一个 HTML 文件,再继续选择该 HTML 文件中的其他超链。当不再有其他超链可选择时,说明搜索已经结束。o这个方法有个优点是网络蜘蛛在设计的时候比较容易。o使用深度优先策略抓取的顺序为:A-F-G、E-H-I、B、C、D。o目前常见的是广度优先和最佳优先方法。URL 的搜索策略的搜索策略 o最佳优先搜索策略o最佳优先搜索策略按照一定的网页分析算法,先计算出 URL 描述文本的目标网页的相似度,设定一个值,并选取评价得分超过该值的一个或几个 URL 进行抓取。它只访问经过网页分析算法计算出的相关度大于给定的值的网页。o存在的一个问题是,在爬虫抓取路径上的很多相关网页可能被忽略,因为最
12、佳优先策略是一种局部最优搜索算法。因此需要将最佳优先结合具体的应用进行改进,以跳出局部最优点。o有研究表明,这样的闭环调整可以将无关网页数量降低30%-90%。网页的分析及信息的提取网页的分析及信息的提取o基于网络拓扑关系的分析算法根据页面间超链接引用关系,来对与已知网页有直接或间接关系对象作出评价的算法。网页粒度PageRank,网站粒度 SiteRank。o基于网页内容的分析算法 从最初的文本检索方法,向涉及网页数据抽取、机器学习、数据挖掘、自然语言等多领域综合的方向发展。o基于用户访问行为的分析算法 有代表性的是基于领域概念的分析算法,涉及本体论。例子说明例子说明简析页面源代码简析页面源代码o定位的爬取目标是娱乐博文,故在首页的源代码中搜寻“娱乐”之后,发现了如下字段:o首页 娱乐 解析解析html的方式的方式 o实现网络爬虫,顾名思义另要程序自动解析网页。考虑到垂直爬虫及站内搜索的重要性,凡是涉及到对页面的处理,就需要一个强大的 HTML/XML Parser 支持解析,通过对目标文件的格式化处理,才能够实现特定信息提取、特定信息删除和遍历等操作。o HTMLParser,它是 Python用来的解析 html 的模块。它可以分析出 html 里面的标签、数据等等,是一种处理html的简便途径。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1