硕士论文-支持AJAX的互联网搜索引擎爬虫设计与实现.doc
《硕士论文-支持AJAX的互联网搜索引擎爬虫设计与实现.doc》由会员分享,可在线阅读,更多相关《硕士论文-支持AJAX的互联网搜索引擎爬虫设计与实现.doc(85页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、浙江大学硕士学位论文支持AJAX的互联网搜索引擎爬虫设计与实现姓名:罗兵申请学位级别:硕士专业:计算机应用导教师:陈刚20070514AbstractWeb Crawler is an important component of Search Engine, web developers build applications that are easier to use and more fimctional than traditional Web programs by using AJAX technologies, which create web pages witii Async
2、hronous JavaScript and XML. AJAX changes the content of web pages dynamically after getting the data from web server by sending die request asynchronously. As a result, the data that the traditional web crawler collects is less than the data presenting in the web browser. We propose a new web crawle
3、r -Aj 狀Crawler, which supports AJAX.The AjaxCrawler is composed of crawling web page, analyzing web page, interpreting JavaScript, invoking DOM operation methods,regenerating web page. First, ciawl the web page by request, second, analyze the page element, not only the links,but also the JavaScript
4、code and file in the page, then, execute the JavaScript code, which include the AJAX request, gets the result from server and invoking DOM operation methods to change the content of web page, at last, regenerate the web page and extract the links.According to the experiment, the content crawled by A
5、jaxCrawler is more than traditional crawler at the same condition.图目录图1-1搜索引擎的体系结构4图2-1传统爬虫的工作流程8图2-2抓取策略9图2-3基于分类器聚焦爬虫体系结构10图24基于数据抽取器的聚焦爬虫体系结构11图2-5基于用户学习的聚焦爬虫体系结构12图2-6系统结构E13图3-1同步交互上和异步交互下的比拟B】18图3-2传统Web应用和基于AJAX的Web应用的比拟11319图3-3网易博客的毎日推荐页面呈现22图34网易博客每曰推荐的页面源码片段22图3-5支持AJAX的爬虫总体结构23图4-1网页分析流程
6、34图4-2 JS解释器的结构36图4-3 DOM层次结构38图44W3C的DOM接口继承关系39图4-5 Node节点的方法39图4-6提取页面中超链接的流程40图5-1 AjaxCrawler抓取的超链接数一网易博客42图5-2传统爬虫抓取的超链接数一网易博客42图5-3AjaxCmwler抓取的超链接数一新浪博客43图5-4传统爬虫抓取的超链接数一新浪博客43图5-5 AjaxCrawler抓取的超链接数一百度博客44图5-6传统爬虫抓取的超链接数一百度博客45图5-7 AjaxCrawler抓取的超链接数一debian45图5-8传统爬虫抓取的超链接数一debian46图5-9抓取链接
7、数比照47图5-10抓取时间比照47表目录表 3-1 XML Reques谢象方法20表 3-2 XML Request对象属性20表4-1 URL类的方法说明31第1章绪论21世纪是信息时代,随着信息科学技术的不断开展,网络已成为人们生活中 的重要组成局部,因特网作为信息交流的中心与枢纽作用愈显重要。因特网是全 球最大的分布式信息库,拥有众多但却杂乱无章的信息,并且这些信息呈几何级 数增长。如何快速、准确地查找所需要的信息,成为人们迫切需要解决的问题。 搜索引擎应运而生,而作为搜索引擎一局部的网络爬虫起着重要作用,爬虫 抓取页面的数量和质量对搜索引擎的查询结果影响很大。Web 是为了区别于过
8、往的以门户为代表的Web 的称呼,Web 2. 0只 是一个符号,它说明的是正在变化中的互联网,这些变化相辅相成,彼此联系在 一起,它让社会性、用户、参与和创作这些元素浮出水面成为互联网文化的中坚 力量。Web 的最大特点是个人化、去中心化,同时强调社会化,强调开放、 共享,强调参与、创造。根本上Web 的绝大局部效劳都存在一个个人标识明 确的页面。ffeb 的最大改变就是普通人开始改变、创造网络,草根性质的、 业余性质的参与。Web 要凸现每个用户的价值,每个人在互联网上都可以创 造自己的价值。近年来,随着Web 的兴起,在Web开发中运用AJAX技术的网站越来越 多,这些技术的应用带来了更
9、好的用户体验、很多新概念和Web in设计,同时, 由于AJAX技术可以动态改变页面内容,改变了传统Web页面的结构,导致单纯 抓取静态Web页面的网络爬虫抓取的内容少于页面呈现的内容,这些动态内容给 网络爬虫的设计带来极大挑战。本论文所涉及的课题一一“支持AJAX的互联网搜索引擎爬虫设计与实现, 正是在综合考虑上述开展趋势、需求因素的根底上提出的,设计实现了支持AJAX 的网络爬虫原型系统AjaxCrawler。AjaxCrawler是基于传统爬虫,实现了 JavaScript 解释器、DOM支持的新一代爬虫,其核心在于获取AJAX异步请求返回的数据, 并通过这些数据生成真正的页面内容,从而
10、抓取到更多的内容。搜索弓I擎2(Search Engine)是为满足人们对网络信息的搜索需求而开展起 来的技术,搜索引擎以一定的策略利用网络自动搜索功能,对各种信息资源分门 别类地进行索引、建库,并对信息进行分析、提取、组织和处理,从而起到信息 导航的作用,帮助人们从不同形式的数字化信息中进行搜索。搜索引擎起源于传统的信息全文检索理论,狭义上的搜索引擎仅指基于因特 网的搜索引擎;广义上的搜索引擎除此之外还包括基于目录的信息检索效劳。搜 索引擎的研究极具综合性和挑战性,它涉及到信息检索、人工智能、计算机网络、 分布式处理、数据库、数据挖掘、数字图书馆、自然语言处理等多领域的理论和 技术。1.2.
11、2分类按照信息搜集的方法和效劳提供方式的不同,搜索引擎主要分为三大类-全 文搜索引擎(Full Text Search Engine),目录式搜索引擎(Search Index/Directory)和元搜索弓I擎(Meta Search Engine). 全文搜索引擎(Full Text Search Engine)全文搜索引擎是从各个网站提取信息,建立数据库,检索与用户查询条件 相匹配的记录后,按照一定的排列顺序返回结果,是名副其实的搜索引擎。全文 搜索弓I擎的自动信息搜集有两种:一种是定期搜索,即每隔一段时间,搜索引擎 主动派出爬虫程序,对一定IP地址范围的网站进行检索,一旦发现新的网站,
12、它 会自动提取网站的信息和网址参加数据库;另一种是提交网站搜索,即网站拥有 者主动向搜索引擎提交网址,搜索引擎在一定时间内(两夭到数月不等)定期向提 交的网站派出爬虫程序。全文搜索引擎中最具代表性的有国外著名的Google及国 内的百度搜索。二、目录索引SearchIndex/Directory)目录索引13是一种人工方式或半自动方式的搜索引擎,由编辑人员查看信息 后,人工生成信息摘要,并将信息置于事先确定的分类框架中.由于目录索引只 是一个按目录分类的网站链接列表,因此不能称为严格意义上的搜索引擎。由于 目录索引中参加了人的智能,所以导航质量高,信息更准确,但也正因为如此, 使得维护费用偏大
13、,信息更新不及时。目录索引中最具代表性的有yahoo、新浪,三、元搜索弓I擎(MetaSearch Engine)元搜索引擎4没有自己的数据,而是将用户的查询请求同时向多个搜索引擎递 交,将返回的结果处理后,作为自己的结果返回给用户。元搜索引擎返回结果的 信息量更大、更全,但是不能够充分利用所使用搜索引擎的功能, 多的筛选。1.2. 3开展历史搜索引擎技术伴随着互联网的开展引人注目,大约经历了三代的开展。第一代搜索引擎出现于1994年,是在传统检索学理论上开展起来的,用户只 要输入检索词,计算机根据检索词比对网页、网站等进行不同的加权处理,根据 权值对信息文献进行排序,权值越大计算机认为该条信
14、息与检索词相关性越高。 这类搜索引擎一般都索引少于1, 000,000个网页,极少重新搜集网页和更新索引。 而且其检索速度非常慢,一般都要等待10秒甚至更长的时间。在实现技术上根本 沿用较为成熟的IRdnformation Retrieval).网络、数据库等技术,相当于利 用一些已有技术实现一个互联网上的应用。第二代搜索引擎大约出现在1996年,受文献引文索引的影响,人们通过对网 页被引用的次数、引用者的权威性计算,对网页进行链接分析排序,链接分析排 序技术一个最明显的好处是:在结合词频排序技术的情况下,兼顾到了排序的准 确性和权威性。此时的搜索引擎大多采用分布式方案来提髙数据规模、响应速度
15、 和用户数量,一般都保持一个大约50,000, 000网页的索引数据库,每天能够响应 10, 000,000次用户检索请求。1997年11月,当时最先进的几个搜索引擎号称能建 立从2,000, 000到100, 000, 000的网页索引-1998年至今为第三代,是搜索引擎空前繁荣的时期,这一时期的搜索引擎的 开展有如下几个特点:(1) 索引数据库的规模继续增大,一般的商业搜索引擎都保持在10亿个网页 以上。由于索引数据库的巨大规模,使得对应于搜索关键宇的返回结果数量非常 大,检索结果相关度评价成为研究的焦点。相关的研究分为两类:一类是对超链 接的分析;另一类是对用户反应信息的研究。(2) 开
16、始使用自动分类技术,搜索引擎己成为一个新的研究、开发领域。因为涉及到分布式处理、数据库、 信息检索、人工智能、计箅机网络、数据挖掘、数字图书馆、自然语言处理等多 领域的理论和技术,所以具有综合性和挑战性。又由于搜索引擎有大量的用户, 拥有很好的经济价值,所以引起了世界各国计算机科学界和信息产业界的高度关 注,目前的研究、开发十分活泼搜索引擎一般由搜集器、分析器、索引器、检索器和用户接口五局部组成, 如图1-1所示。www 分析器 原始f据库弓 用户接口- / f图1-1搜索引擎的体系结构搜集器15】的功能是在互联网中漫游、发现和搜集信息。它常常是一个计算机 程序,日夜不停地运行,尽可能多、尽可
17、能快地搜集各种类型的新信息。同时因 为互联网上的信息更新很快,需要定期更新已经搜集过的信息,以防止死链接和 无效链接。搜索器的实现常常使用分布式、并行计算技术,以提高信息发现和更 新的速度。搜索器搜集的信息类型多种多样,包括HTML、XML、pdf文件、doc文 档、多媒体信息等等。1. 3,2分析器分析器6对本地文档库进行分析以便用于索引,文档分析技术包括分词、过 滤和转换等。索引数据库一般“词能够表达完整的语义对象,所以通常选用词作为文本特征的元数 据。在分词时,大局部系统从全文中抽取词条,也有局部系统只从文档的某些部 分如标题等抽取词条。由于中文的基元是字而不是词,句子中各词语间没有 固
18、定的分隔符,汉语语义及结构上的复杂性和多边性给中文分词带来极大困难。汉语分词主要有两大类方法基于词典与规那么,或者基于统计前者应用词典 匹配,汉语词法或其他汉语语言知识进行分词,如最大匹配法Maximum Matching)、最小分词方法等,其性能依赖于词典的完备性、规那么的一致性。后 者基于字和词的统计信息,如相邻字间互信息,词频及相应的奉献信息等应用于 分词。分词后通常要使用禁用词表stop list)来去除出现频率很高的无意义词 条,如aru the、of、的。另外需要对词条进行单、复数转换,词缀去除,同义 词转换等工作,如将jumps、jumped, jumper都归结成jump进行索
19、引。索引器5分析器提取的信息中抽取出索引项,用于表示文档以及生成文档 库的索引表。索引表一般使用某种形式的倒排表(Inversion List),即由索引项 查找相应的文档。索引表也可能要记录索引项在文档中出现的位置,以便检索器 计算索引项之间的相邻或相近关系(Proximity).索引项有客观索引项和内容索引项两种。客观索引项与文档的语意内容无 关,如作者名、URL、更新时间、编码、长度、链接流行度(Link Popularity)等; 内容索引项是用来反映文档内容的,如关键词及其权重、短语、单字等。内容索 引项可以分为单索引项和多索引项(或称短语索引项)两种.单索引项对于英文来 讲是英语单
20、词,比拟容易提取,因为单词之间有天然的分隔符(空格);对于中文 等连续书写的语言,必须进行词语的切分。在搜索引擎中,一般要给单索引项陚 予一个权值,以表示该索引项对文档的区分度,同时用来计算查询结果的相关度。 使用的方法一般有统计法、信息论法和概率法。短语索引项的提取方法有统计法、 概率法和语言学法。索引器可以使用集中式索引算法或分布式索引算法。当数据量很大时,必须 实现即时索引(Instant Indexing),否那么跟不上信息量急剧增加的速度。索引算 法对索引器的性能(如大规模峰值査询时的响应速度)有很大的影响,一个搜索引 擎的有效性在很大程度上取决于索引的质量。检索器5】根据用户的查询
21、在索引库中找出文档,进行文档与查询的相关度评 价,对将要输出的结果进行排序,并实现某种用户相关性反应机制,检索器常用 的信息检索模型有集合理论模型、代数模型、概率模型和混合模型四种。1.3 5用户接口用户接口5】为用户提供可视化的查询输入和结果输出界面,提供用户相关性 反应机制。主要目的是方便用户使用搜索引擎,高效率、多方式地从捜索引擎中 得到有效、及时的信息。用户接口的设计和实现使用人机交互的理论和方法,以 充分适应人类的思维习惯。用户输入接口可以分为简单接口和复杂接口两种。简 单接口只提供用户输入查询串的文本框;复杂接口可以让用户对查询进行限制, 如逻辑运算(与、或、非、相近关系、出现位置
22、(如标题、内容、信息时间、 长度等。在输出界面中,搜索引擎将检索结果展现为一个线性的文档列表,其中 包含了文档的标题、摘要、URL等信息,用户需要逐个浏览以便找出所需的文档。论文组织本论文共分六章。1) 第1章绪论。本章介绍论文的选题背景和意义、国内外相关领域技术的 现状以及论文的组织结构。2) 第2章网络爬虫研究热点。本章主要介绍了网络爬虫的根本原理、工作 流程以及目前网络爬虫的研究热点:聚焦爬虫和主题爬虫,分别介绍了它们的分 类和体系结构。3) 第3章AjaxCrawler概要设计。本章主要介绍Web2. 0相关技术和对爬 虫的影响以及AjaxCrawler的整体架构、关键技术。4) 第4
23、章AjaxCrawler的实现。介绍网络爬虫的相关技术和AjaxOawler 的实现,包括JS解释器、DOM支持模块、页面生成模块等几个局部。5) 第5章测试和实验。介绍了AjaxCrawler的测试以及传统爬虫和 AjaxCrawler抓取结果的比照。6) 第6章总结与展望。总结了论文创新点,展望了AjaxCrawler值得继续 优化和实现的问题。第2章网络爬虫研究热点作为搜索引擎关键技术之一的网络爬虫被称为Web Crawler, *eb Wanderer或 Web Spider,能够沿Web页面中的超链接在万维网中自动漫游,并读取漫游的Web 页面的程序。网络爬虫的漫游是指根据HTML文
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 硕士论文 支持 AJAX 互联网 搜索引擎 爬虫 设计 实现
限制150内