1、搜索引擎与网络爬虫的浅析及实现 1 本科毕业论文 题 目:搜索引擎与网络爬虫的 浅析及实现 姓 名: 学 院: 软件学院 系: 软件工程 专 业: 软件工程 年 级: 学 号: 指导教师: 职称: 年 月 搜索引擎与网络爬虫的浅析及实现 2 摘要 随着互联网的发展 , 网上的资源越来越丰富 , 如何有效利用网上的资源 , 是当今信息时代的主题。搜索引擎的出现,就为如何在互联网的海洋中有效地搜索用价值的信息提供了一个很好的解决方法。本文 将 对互联网搜索引擎的系统结构进行详细 的剖析,然后 分别 对搜索引擎的主要组成部分 网络爬虫 ,索引数据库 , 服务器端进行实例化分析 。 为了达到让读者了解
2、搜索引擎及网络爬虫的原理, 笔者 基于 java 平台上实现了一个简单的新闻搜索引擎, 以其后几章里将以该引擎为例,阐明一般搜索引擎的基本原理和实现方法。 新闻搜索引擎的原理 简单说来 是从指定的互联网页面上抓取超链接 , 然后对其进行解析、分类,并把结果(新闻条目)建立索引后加入数据库。 用户从浏览器向 Web 服务器 发出搜索请求,服务器端 接到请求后,从索引数据库中搜索出匹配的新闻,通过 web 响应返回给客户端,并显示 在 用户 浏览器上。 关键字 互联网 信息 搜索 网络爬虫 索引 服务器 搜索引擎与网络爬虫的浅析及实现 3 Abstract With the development
3、 of the Internet, the resource on the Internet becomes huge and vast. How to utilize the resource efficiently, is the exciting topic nowdays. The come out of the Search Engine, provides some helpful solutions to this problem. This thesis begins with analyzing the structure of the Search Engine, and
4、then states the details of the components which consist of the Search Engine. That is, Spider, Index Database and Web Server. In order to make the audiences understand clearly, I implement a News Search Engine on the Java Platform. I will analyze the principle of Search Engine with this instance. Th
5、e principle of the News Search engine is simply to acquire the hyperlinks on the web page by the Spider. Then the collection of hyperlinks will be parsed, classified, indexed and stored in the Index Database. While receiving the request from the Client (usually the Internet Explorer), the Search Eng
6、ine searches for the information in the Database immediately, then responses the result to the Client by Http message, showed on the Internet Explorer. Key words Internet, Search Engine, Spider, Index, Web Server. 搜索引擎与网络爬虫的浅析及实现 4 目录 摘要 . 2 第一章 搜索引擎简介 . 6 1.1 搜索引擎的发展历史 . 6 1.2 搜索引擎的实现原理 . 6 1.2.1 搜
7、索引擎的基本结构 . 6 1.2.2 网络爬虫 . 7 1.2.3 索引数据库 . 8 1.2.4Web 服务器 . 8 1.3 小结 . 8 第二章 网络爬虫原理及设计 . 9 2.1 网络爬虫的概述及其工作原理 . 9 2.2 网络爬虫的搜索策略 .11 2.3 构造网络爬虫 . 12 2.3.1 解析 HTML . 12 2.3.2 HTMLPage.open()方法 . 13 2.3.3 Vector 类 . 14 2.3.4 Iterator 接口 . 14 2.3.5 com.heaton.bot.Link 类 . 15 2.3.6 利用 Searcher 类扫描网页 . 15 2
8、.4 小结 . 15 第三章 lucene 下的索引和搜索 . 17 3.1 什么是 Lucene. 17 3.2 Lucene 的原理分析 . 17 3.3.Lucene 的中文切分词机制 . 18 3.4 索引数据库的实现 . 18 3.4.1 生成索引数据库文件的 IndexWriter 类 . 18 3.4.2 AddNews(String url, String title)方法 . 18 3.5 小结 . 19 第四章 实验设计与结果演示 . 21 4.1 新闻搜索引擎程序结构 . 21 4.2 新闻搜索引擎服务器端 . 22 4.3 客户端 . 25 4.4 结果演示 . 26
9、第五章 搜索引擎策略 . 28 5.1 概述 . 28 5.2 第四代搜索引擎搜索策略 . 28 5.2.1 Guide words . 28 5.2.2 网页 评级 . 28 5.3 搜索引擎未来展望 . 29 鸣谢 . 31 参考文献 . 31 搜索引擎与网络爬虫的浅析及实现 5 Contents Abstract. 2 Chapter1 Introduce to Search Engine . 6 1.1 History of Search Engine. 6 1.2 How to implement a Search Engine. 6 1.2.1 Structure of Searc
10、h Engine. 6 1.2.2 Spider. 7 1.2.3 Index Database. 8 1.2.4 Web Server. 8 1.3 Summary . 8 Chapter2 Principle and Design of Spider . 9 2.1 Introduce to Spider . 9 2.2 Search Strategy .11 2.3 Construct a Spider . 12 2.3.1 Parse HTML . 12 2.3.2 HTMLPage.open() . 13 2.3.3 Vector. 14 2.3.4 Iterator . 14 2.
11、3.5 com.heaton.bot.Link . 15 2.3.6 Scan the HTML by Searcher Class . 15 2.4 Summary . 15 Chapter3 Index and Search base on Lucene. 17 3.1 What is Lucene . 17 3.2 Principle of Lucene . 17 3.3. Chinese Characters analysis in Lucene . 18 3.4 Implement Index Database. 18 3.4.1 IndexWriter . 18 3.4.2 Add
12、News(String url, String title) . 18 3.5 Summary . 19 Chapter4 News Search Engine Designing and Performance . 21 4.1 Structure of the News Search Engine . 21 4.2 Server . 22 4.3 Client . 25 4.4 Performance . 26 Chapter5 New Search Strategy. 28 5.1 Introduce to Search Strategy. 28 5.2 The Fouth Genera
13、tion Search Strategy . 28 5.2.1 Guide words . 28 5.2.2 Evaluate the Website . 28 5.3 Future of Search Engine . 29 Acknowledgements. 31 Reference . 31 搜索引擎与网络爬虫的浅析及实现 6 第一章 搜索引擎简介 1.1 搜索引擎的发展历史 在互联网发展初期,网站相对较少,信息查 找比较容易。然而伴随互联网爆炸性的发展,普通网络用户想找到所需的资料简直如同大海捞针,这时为满足大众信息检索需求的专业搜索网站便应运而生了。 随着 WWW 的发展,搜索引擎发
14、出闪耀的光芒。搜索引擎自出现以来,经历了三代的发展 1: 表 1 1 搜索引擎发展的三个阶段 出现时间 建立索引数目 速度 使用技术 第一代 1994 年 少于1,000,000个 慢 Information Retrieval、网络、数据库等 第二代 1996 年 约50,000,000 个 较快 Information Retrieval、网络、数据库、 分布式 等 第三代 2000 年 约200,000,000个 极快 Information Retrieval、网络、数据库、 分布式 等 1.2 搜索引擎的实现原理 1.2 1 搜索引擎的基本结构 搜索引擎是通过对信息建立索引数据库,然
15、后根据用户的查询请求,按照一定算法在数据库中查询找到匹配的信息并返回给用户。为了保证用户查找信息的精度和新鲜度,一个强大的搜索引擎需要建立一个庞大的索引数据库,从而保证搜索引擎与网络爬虫的浅析及实现 7 信息的精度和覆盖的广度,并要及时 更新以保证信息的及时性。 一般 搜索引擎的宏观结构如下图 2: 图 1 1 搜索引擎的宏观结构 微观结构如下图 2: 图 1 2 搜索引擎的微观结构 1.2.2网络爬虫 网络爬虫是一个 WEB 页面扫描程序。它通过扫描 WEB 页面 , 抓取其内的超链Web Pages Spider Create Index Search from DB Web Server
16、 Index Database IE IE Spider 搜索引擎与网络爬虫的浅析及实现 8 接 , 并将其加入扫描等待队列。 网络爬虫扫描 web 页面的策略一般分为:广度优先、深度优先和 IP 地址 三种。设计时可根据需要制定扫描策略。 1.2.3索引数据库 网络爬虫扫描后得到的 WEB 页面放在临时数 据库中,为了提高检索效率,需要对数据库建立索引。用户输入搜索条件后搜索程序在索引数据库中检索然后返回符合查询要求的信息的索引,按索引找到超链接按一定次序返回给用户。 1.2.4Web服务器 Web 服务器是用户与索引数据库之间的桥梁。用户在浏览器中输入查询关键字, Web 服务器根据查询关
17、键字在索引数据库中进行查询、排列然后返回给客户端。 1.3 小结 以上 对基于因特网的搜索引擎结构进行了分析,下面在这些研究的基础上,以笔者 设计的一个简单搜索引擎 News Search Engine 为例 , 对上述搜索引擎的三个组 成部分进详细 分析 。 在这个 新闻 搜索引擎中, 笔者 运用 了 Java 技术和 其它 一些 Open Source 工具( bot 开发包 3 和 Lucene 包 4)。 搜索引擎与网络爬虫的浅析及实现 9 第二章 网络爬虫原理及设计 2.1 网络爬虫的概述及其工作原理 网络爬虫,是一种专业的抓取 WEB 页面的程序,也叫网络机器人,是搜索引擎 的重要
18、组成部分。网络爬虫从一个或多个 Web 页面上开始执行, 获得该网上上的超链接,将这些超链接放入队列,然后通过这些超链接再访问下一级页面,再抓取其页面上的超链接放入队列,如此 不断地循环,直到没有满足条件的新超链接为 止。理论上它可以扫描 Internet 上的所有页面 4。 被网络爬虫抓取的网页超链接会被储存在 扫描等待 队列中,然后用一定的算法将它们排序、分析、过滤,以便之后的 下一级扫描 。 下面是网络爬虫的工作流程图 搜索引擎与网络爬虫的浅析及实现 10 图 2 1网络爬虫的工作流程图 把 URL 加入等待队列 Spider 程序工作完成 等待队列中是否有 URL? 否 下载从等待队列中得到的网页,并将他送入运行队列中。 是 这个网页包含其他超级连接吗? 将这一网页送入完成队列并继续 查看网页上的下一个超连接 是否为指向Web 的连接? 报告其他类型连接 连接是否与网页所在主机不同且只处理本地连接? 报告外部连接 报告网页连接 将连接加入等候队列 否 是 否 是 否 是
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。