欢迎访问一起赢论文辅导网
机械论文
当前位置:首页 > 机械论文
网络爬虫原理
来源:一起赢论文网     日期:2015-09-29     浏览数:2702     【 字体:

Web网络爬虫系统的功能是下载网页数据,为搜索引擎系统提供数据来源。很多大型的网络搜索引擎系统都被称为基于Web数据采集的搜索引擎系统,比如Google。由此可见Web网络爬虫系统在搜索引擎中的重要性。 网页中除了包含供用户阅读的文字信息外,还包含一些链接信息。Web网络爬虫系统正是通过网页中的连接信息不断获得网络上的网页。正是因为这样采集过程像一个爬虫或者蜘蛛在网络上漫游,所以它才被称为网络爬虫系统或者网络蜘蛛系统,在英文中称为Spider。 本章主要介绍了翻译评价语料库的建设。在对语言学知识对翻译自动评价贡献的研究中,语料库的建设至关重要。因此,我们对语料库的建设过程进行了大量的统计分析,分析其合理性。最后还对语料人工标注的一致性进行了定量的分析。 哈尔滨工业大学工学硕士学位论文 - 17 - 2.3.1 网络爬虫系统的工作原理 Web网络爬虫系统一般会选择一些比较重要的、出度(网页中链出链接数)较大的网站的URL作为种子URL集合。网络爬虫系统将这些种子集合作为初始URL,开始数据的抓取。由于网页中含有链接信息,通过已有网页的URL会得到一些新的URL,可以把网页之间的指向视为一个森林,每个种子URL对应的网页是森林中的一棵树的根节点。这样,Web网络爬虫系统就可以根据先广搜索算法或者先深搜索算法遍历所有的网页。由于先深搜索算法可能会使爬虫系统陷入一个网站内部,不利于搜索比较靠近网站首页的网页信息,因此一般采用先广搜索算法采集网页。Web网络爬虫系统首先将种子URL放入下载队列,然后简单地从队首取出一个URL下载其对应的网页。得到网页的内容将其存储后,再经过解析网页中的链接信息可以得到一些新的URL,将这些URL加入下载队列。然后再取出一个URL,对其对应的网页进行下载,然后再解析,如此反复进行,知道遍历了整个网络或者满足某种条件后才会停止下来。 2.3.2 网络爬虫系统的基本结构 通过上面Web网络爬虫系统基本原理的介绍,我们可以将一般的爬虫系统基本结构分为6个模块,这6个模块组成的爬虫系统基本结构图如图2-5: (1)配置模块。该模块允许用户通过配置文件来配置爬虫系统。比如,爬虫系统下载网页的深度(层数)、多线程抓取时的线程数、抓取同一网站两个网页的间隔时间和限制待抓取URL的正则表达式等等。 (2)已访问URL识别模块。由于一个网页的URL可能会被多次解析出来,所以为了防止同一网页被多次重复下载爬虫必须要有这个模块来过滤掉已抓取的网页。 (3)robots 协议模块。当网络爬虫系统第一次对某个网站进行网页采集的时候,要首先抓取robots.txt,然后获知指定不该访问的目录。或者根据会根据网页的Meta信息判断哪些是服务器定义不能索引和访问的,然后只访问能够索引的页面。 (4)网页抓取模块。网页抓取模块主要完成对网页的抓取工作。通过URL 建立与服务器的连接,然后获得网页内容。 哈尔滨工业大学工学硕士学位论文 - 18 -  初始化种子U RL未抓取的U RL库抓取列表生成抓取列表网页抓取模块P ages请求待抓取页面Internet文档下载原始网页网页解析模块链出链接结合分析采集的文档提取链出链接已访问U RL识别模块更新为抓取的U RL配置模块存储模块Robots 协议模块 图2-5 Web爬虫系统的基本结构图 (5)网页解析模块。从已下载的网页中提取链出链接,然后把这些提取出的URL放入下载队列。 (6)存储网页模块。这个模块的作用是将已经下载网页经过一定的组织存储在本地服务器上或者分布式文件系统中。以备搜索引擎后续模块的处理。 上面这个基本结构是Web网络爬虫系统必须具备的。在应用时,由于不同的爬虫系统对各个模块的组合方式不同,因此构成了不同的系统结构。 2.3.3 分布式网络爬虫的工作原理 本节的前两个小节描述的是设计一个集中式爬虫系统所必须考虑的两个问题,但是,不论分布式爬虫系统还是集中式爬虫系统都需要考虑这两个核心工作原理与核心基本结构。因为,分布式网络爬虫可以看做是多个集中式网络爬虫系统组合而成。结合上面给出的集中式爬虫的核心工作原理和核心基本结构,下面本节来阐述分布式网络爬虫的工作原理。 分布式爬虫系统是运行于机器集群之上的,集群中每一个节点都是一个集哈尔滨工业大学工学硕士学位论文 - 19 - 中式爬虫,其工作原理与集中式爬虫系统的工作原理相同。这些集中式爬虫在分布式爬虫系统中是由一个主节点控制来协同工作的。由于分布式爬虫系统要求多个节点协同工作,这样多个节点需要相互通信来交互信息,所以搭建分布式爬虫系统的关键是网络通信。因为,分布式爬虫系统可以利用多个节点抓取网页,所以,分布式爬虫系统的效率远远高于集中式爬虫系统。 分布式爬虫系统的体系结构有很多种,工作方式和存储方式也很多。但是,典型的分布式爬虫系统都采取主从方式的体系结构。即有一个主节点控制所有从节点执行抓取任务,这个主节点负责分配URL,保证集群中所有节点的负载均衡。另外,关于存储方式,比较流行的是将抓取的网页保存在分布式文件系统上,这样管理多个节点上的数据更加方便。本文采用的就是这样的存储方式,使用的分布式文件系统是HadoopHDFS系统。 2.4 分布式网络爬虫研究现状 目前,最成功的分布式Web网络爬虫系统主要应用在搜索引擎公司(如:Google)和其他商业性较强的公司里。然而,这些公司并没有公布他们分布式爬虫的技术细节并且云计算的应用尚处在萌芽阶段。现在比较著名的分布式网络爬虫有MercatorUbiCrawlerWebFountainGoogle Crawler。 Mercator[16]分布式爬虫项目是一个例外,因为它的整个设计方案全部公布于众了。这个分布式网络爬虫是由Compaq完成的,目前AltaVista搜索引擎正在使用这个爬虫系统。而且Google1998年最初也是用的这个爬虫系统[17]。 UbiCrawler[18]分布式爬虫项目是一个高性能、大规模的分布式网络爬虫,这个爬虫主要特点是平台独立性即可以跨平台、大规模分布式性能良好、高容错性、高效的分配函数(基于一致性哈希函数)和可自行调整爬行任务优先级。另外该爬虫是由Java编写完成。 WebFountain[19]分布式爬虫项目是由IBM 开发完成的。WebFountainMercator类似采用分布式模块化,但是使用C++语言编写的。它的特点是一个管理员机器控制一系列的蚂蚁机器。经过多次下载页面后,页面的变化率可以推测出来。这时,一个非线性的方法必须用于求解方程以获得一个最大的新鲜度的访问策略。 Google  Crawler爬虫系统使用成千上万台小型机和微机进行合作,完成分布式抓取工作的。它使用一个URLServer分配URL给网络爬虫让他们去爬取。网络爬虫爬取的网页再传送到一个StoreSever上去,由StoreSever将网页哈尔滨工业大学工学硕士学位论文 - 20 - 进行压缩并将其存储起来。 2.5 本章小结 本章主要是对本文所要用到的相关技术作以阐述,为后面的系统设计和实现提供技术支持。 阐述内容大体可概括为云计算相关知识概述、Hadoop分布式平台相关知识概述、网络爬虫的基本原理介绍和分布式网络爬虫现状的调研这四个方面

[返回]
上一篇: 我国电子政务建设的新动向2016
下一篇:WEB文本挖掘概述