VC++搜索引擎网络爬虫设计与实现.doc

上传人:新** 文档编号:551770390 上传时间:2022-11-29 格式:DOC 页数:75 大小:1.42MB
返回 下载 相关 举报
VC++搜索引擎网络爬虫设计与实现.doc_第1页
第1页 / 共75页
VC++搜索引擎网络爬虫设计与实现.doc_第2页
第2页 / 共75页
VC++搜索引擎网络爬虫设计与实现.doc_第3页
第3页 / 共75页
VC++搜索引擎网络爬虫设计与实现.doc_第4页
第4页 / 共75页
VC++搜索引擎网络爬虫设计与实现.doc_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《VC++搜索引擎网络爬虫设计与实现.doc》由会员分享,可在线阅读,更多相关《VC++搜索引擎网络爬虫设计与实现.doc(75页珍藏版)》请在金锄头文库上搜索。

1、搜索引擎网络爬虫设计与实现摘要网络中的资源非常丰富,但是如何有效的搜索信息却是一件困难的事情。建立搜索引擎就是解决这个问题的最好方法。本文首先详细介绍了基于英特网的搜索引擎的系统结构,然后具体阐述了如何设计并实现搜索引擎的搜索器网络爬虫。多线程网络爬虫程序是从指定的Web页面中按照宽度优先算法进行解析、搜索,并把搜索到的每条URL进行抓取、保存并且以URL为新的入口在互联网上进行不断的爬行的自动执行后台程序。网络爬虫主要应用socket套接字技术、正则表达式、HTTP协议、windows网络编程技术等相关技术,以C+语言作为实现语言,并在VC6.0下调试通过。 在网络爬虫的设计与实现的章节中除

2、了详细的阐述技术核心外还结合了多线程网络爬虫的实现代码来说明,易于理解。本网络爬虫是一个能够在后台运行的以配置文件来作为初始URL,以宽度优先算法向下爬行,保存目标URL的网络程序,能够执行普通用户网络搜索任务。关键词搜索引擎;网络爬虫;URL搜索器;多线程Design and Realization of Search Engine Network SpiderAbstractThe resource of network is very rich, but how to search the effective information is a difficult task. The es

3、tablishment of a search engine is the best way to solve this problem. This paper first introduces the internet-based search engine structure, and then illustrates how to implement search engine -network spiders.The multi-thread network spider procedure is from the Web page which assigns according to

4、 the width priority algorithm connection for analysis and search, and each URL is snatched and preserved, and make the result URL as the new source entrance unceasing crawling on internet to carry out the backgoud automatically.My paper of network spider mainly applies to the socket technology, the

5、regular expression, the HTTP agreement, the windows network programming technology and other correlation technique, and taking C+ language as implemented language, and passes under VC6.0 debugging.In the chapter of the spider design and implementation, besides a detailed exposition of the core techn

6、ology in conjunction with the multi-threaded network spider to illustrate the realization of the code, it is easy to understand. This network spiders is initial URL based on configuration files which can operate on background,using width priority algorithm to crawl down, preserving network programme

7、 of target URL.Keywords Internet search engine; Network spider; URL search programme; Multithreaded不要删除行尾的分节符,此行不会被打印- II -目录摘要IAbstractII第1章 绪论11.1 课题背景11.2 搜索引擎的历史和分类21.2.1 搜索引擎的历史21.2.2 搜索引擎的分类21.3 搜索引擎的发展趋势31.4 搜索引擎的组成部分41.5 课题研究的主要内容4第2章 网络爬虫的技术要点分析62.1 网络爬虫Spider工作原理62.1.1 Spider 的概念62.1.2 网络爬

8、虫抓取内容分析62.2 HTTP协议72.2.1 HTTP协议的请求72.2.2 HTTP协议的响应82.2.3 HTTP的消息报头82.3 SOCKET套接字102.3.1 什么是SOCKET套接字102.3.2 SOCKET各函数分析102.4 正则表达式142.4.1 正则表达式应用分析142.4.2 正则表达式的元字符分析152.5 本章总结15第3章 网络爬虫系统模型的分析和概要设计163.1 网络爬虫模型分析163.1.1 单线程爬虫模型分析163.1.2 多线程爬虫模型分析163.1.3 爬虫集群模型分析173.2 网络爬虫的搜索策略的分析与设计173.3 网络爬虫主要性能评价指

9、标分析203.4 本论文中网络爬虫的概要设计20第4章 网络爬虫的详细设计与实现234.1 网络爬虫总体设计234.2 Socket功能模块的设计与实现244.2.1 Socket功能模块的设计244.2.2 Socket功能模块的具体实现244.2.3 Socket模块中各功能函数模块中的调用关系设计314.3 HTTP 功能模块的设计与实现334.3.1 HTTP协议与URL334.3.2 依照HTTP协议设计send()函数发送信息334.4 正则表达式过滤模块的设计与实现354.4.1 URL正则表达式的定义与实现354.4.2 开源正则表达式引擎DEELX的应用374.4.3 Mat

10、chResult 类的调用和设计384.5 URL保存模块的设计与实现394.6 宽度搜索模块的设计与实现394.7 文件存储模块的设计与实现414.8 多线程的设计与实现424.9 运行显示结果424.9.1 输入424.9.2 显示434.9.3 结果434.10 本章总结44结论45致谢46参考文献47附录48千万不要删除行尾的分节符,此行不会被打印。在目录上点右键“更新域”,然后“更新整个目录”。打印前,不要忘记把上面“Abstract”这一行后加一空行- IV -第1章 绪论1.1 课题背景面对浩瀚的网络资源,搜索引擎为所有网上冲浪的用户提供了一个入口,毫不夸张的说,所有的用户都可以

11、从搜索出发到达自己想去的网上任何一个地方。因此它也成为除了电子邮件以外最多人使用的网上服务。什么是搜索引擎?它是如何工作的?搜索引擎一词在国内外因特网领域被广泛使用,然而他的含义却不尽相同。在美国搜索引擎通常指的是基于因特网的搜索引擎,他们通过网络机器人程序收集上千万到几亿个网页,并且每一个词都被搜索引擎索引,也就是我们说的全文检索。著名的因特网搜索引擎包括First Search、Google、HotBot等。在中国,搜索引擎通常指基于网站目录的搜索服务或是特定网站的搜索服务,本人这里研究的是基于因特网的搜索技术。广义的搜索引擎泛指网络(尤其是万维网)上提供信息检索服务的工具或系统,即在因特

12、网上或通过因特网响应用户的搜索请求,返回相应查询结果的信息技术和系统.狭义的搜索引擎主要指利用网络自动搜索软件或人工方式,对万维网信息资源进行采集,分析与标引,并将索引信息组织成数据库,以网站形式为网络用户提供检索服务的一类信息服务系统.概括的说:搜索引擎就是WWW网络环境中的一套信息检索系统。它通常有两种不同的工作方式:一种是分类目录型的检索,把因特网中的资源收集起来,由其提供的资源的类型不同而分成不同的目录,再一层层地进行分类,人们要找自己想要的信息可按他们的分类一层层进入,就能最后到达目的地,找到自己想要的信息;另一种是基于关键词(Keyword)的检索,这种方式用户可以用逻辑组合方式输

13、入各种关键词,搜索引擎计算机根据这些关键词寻找用户所需资源的地址,然后根据一定的规则反馈给用户包含此关键字词信息的所有网址和指向这些网址的链接。搜索引擎其实也就是一个网站,只不过该网站专门为你提供信息“检索”服务,它使用特有的程序把INTERNET上的所有信息归类以帮助人们在浩如烟海的信息海洋中搜寻到自己所需要的信息。随着因特网信息按几 何级数增长,这些搜索引擎利用其内部的一个spider程序,自动搜索网站每一页的开始,并把每一页上代表超级链接的所有词汇放入一个数据库,供用户来查询。1.2 搜索引擎的历史和分类搜索引擎的历史。1990年以前,没有任何人能搜索互联网。所有搜索引擎的祖先,是199

14、0年由 Montreal的McGill University学生Alan Emtage、Peter Deutsch、Bill Wheelan发明的Archie。后来,程序员们开发出了一个名叫“spider”(爬虫)的“Robot”(机器人)程序,它能自动以人类无法达到的速度不断重复地在网络上检索信息。这种行为很像一只爬虫在INTERNET这张巨大的信息网上爬来爬去,因此,spider程序便由此而来。世界上第一个Spider程序,是MIT Matthew Gray的World wide Web Wanderer,用于追踪互联网发展规模。刚开始它只用来统计互联网上的服务器数量,后来发展为也能够捕获

15、网址(URL)1。1.2.1 搜索引擎的历史搜索引擎技术伴随着WWW的发展是引人注目的。搜索引擎大约经历了三代的更新发展: 第一代搜索引擎出现于1994年。这类搜索引擎一般都索引少于1,000,000个网页,极少重新搜集网页并去刷新索引。而且其检索速度非常慢,一般都要等 待10秒甚至更长的时间。在实现技术上也基本沿用较为成熟的IR(Information Retrieval)、网络、数据库等技术,相当于利用一些已有技术实现的一个WWW上的应用。在1994年3月到4月,网络爬虫(Spider)World Web Worm (WWW)平均每天承受大约1500次查询。 大约在1996年出现的第二代搜索引擎系统大多采用分布式方案(多个微型计算机协同工作)来提高数据规模、响应速度和用户数量,它们一般都保持一个大约5千万网页个的索引数据库,每天能够响应1千万次 用户检索请求。1997年11月,当时最先进的几个搜索引擎号称能建立从2百万到1亿的网页索引。Altavista搜索引擎声称他们每天大概要承受2千万次查询。 2000年搜索引擎2000年大会上,按照Google公司总裁Larry Page的演讲,Google正在用3千台运行Linux系统的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号