没有合适的资源?快使用搜索试试~ 我知道了~
首页VC++搜索引擎网络爬虫设计与实现
VC++搜索引擎网络爬虫设计与实现
1星 需积分: 37 12 下载量 153 浏览量
更新于2023-03-16
评论 3
收藏 1.42MB DOC 举报
网络中的资源非常丰富,但是如何有效的搜索信息却是一件困难的事情。建立搜索引擎就是解决这个问题的最好方法。 本文首先详细介绍了基于英特网的搜索引擎的系统结构,然后具体阐述了如何设计并实现搜索引擎的搜索器——网络爬虫。 多线程网络爬虫程序是从指定的Web页面中按照宽度优先算法进行解析、搜索,并把搜索到的每条URL进行抓取、保存并且以URL为新的入口在互联网上进行不断的爬行的自动执行后台程序。 网络爬虫主要应用socket套接字技术、正则表达式、HTTP协议、windows网络编程技术等相关技术,以C++语言作为实现语言,并在VC6.0下调试通过。 在网络爬虫的设计与实现的章节中除了详细的阐述技术核心外还结合了多线程网络爬虫的实现代码来说明,易于理解。本网络爬虫是一个能够在后台运行的以配置文件来作为初始URL,以宽度优先算法向下爬行,保存目标URL的网络程序,能够执行普通用户网络搜索任务。
资源详情
资源评论
资源推荐
搜索引擎网络爬虫设计与实现
摘要
网络中的资源非常丰富,但是如何有效的搜索信息却是一件困难的事
情。建立搜索引擎就是解决这个问题的最好方法。
本文首先详细介绍了基于英特网的搜索引擎的系统结构,然后具体阐
述了如何设计并实现搜索引擎的搜索器——网络爬虫。
多线程网络爬虫程序是从指定的 Web 页面中按照宽度优先算法进行解
析、搜索,并把搜索到的每条 URL 进行抓取、保存并且以 URL 为新的入
口在互联网上进行不断的爬行的自动执行后台程序。
网络爬虫主要应用 socket 套接字 技术、正则表 达式、HTTP 协议 、
windows 网络编程技术等相关技术,以 C++ 语言作为实现语言,并在
VC6.0 下调试通过。
在网络爬虫的设计与实现的章节中除了详细的阐述技术核心外还结合
了多线程网络爬虫的实现代码来说明,易于理解。本网络爬虫是一个能够
在后台运行的以配置文件来作为初始 URL,以宽度优先算法向下爬行,保
存目标 URL 的网络程序,能够执行普通用户网络搜索任务。
关键词 搜索引擎;网络爬虫;URL 搜索器;多线程
- I -
The resource of network is very rich, but how to search the effective
information is a difficult task. The establishment 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 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
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 technology 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 of target URL.
Internet search engine; Network spider; URL search programme;
Multithreaded
- II -
目录
摘要.......................................................................................................................I
Abstract................................................................................................................II
第 1 章 绪论.........................................................................................................1
1.1 课题背景...................................................................................................1
1.2 搜索引擎的历史和分类...........................................................................2
1.2.1 搜索引擎的历史................................................................................2
1.2.2 搜索引擎的分类................................................................................2
1.3 搜索引擎的发展趋势...............................................................................3
1.4 搜索引擎的组成部分...............................................................................4
1.5 课题研究的主要内容...............................................................................4
第 2 章 网络爬虫的技术要点分析.....................................................................6
2.1 网络爬虫 Spider 工作原理.......................................................................6
2.1.1 Spider 的概念....................................................................................6
2.1.2 网络爬虫抓取内容分析....................................................................7
2.2 HTTP 协议................................................................................................7
2.2.1 HTTP 协议的请求.............................................................................7
2.2.2 HTTP 协议的响应.............................................................................8
2.2.3 HTTP 的消息报头.............................................................................8
2.3 SOCKET 套接字.....................................................................................10
2.3.1 什么是 SOCKET 套接字.................................................................10
2.3.2 SOCKET 各函数分析......................................................................11
2.4 正则表达式.............................................................................................14
2.4.1 正则表达式应用分析......................................................................15
2.4.2 正则表达式的元字符分析..............................................................15
2.5 本章总结.................................................................................................16
第 3 章 网络爬虫系统模型的分析和概要设计...............................................17
3.1 网络爬虫模型分析.................................................................................17
3.1.1 单线程爬虫模型分析......................................................................17
3.1.2 多线程爬虫模型分析......................................................................17
3.1.3 爬虫集群模型分析..........................................................................18
3.2 网络爬虫的搜索策略的分析与设计.....................................................18
- III -
3.3 网络爬虫主要性能评价指标分析.........................................................21
3.4 本论文中网络爬虫的概要设计.............................................................21
第 4 章 网络爬虫的详细设计与实现...............................................................25
4.1 网络爬虫总体设计.................................................................................25
4.2 Socket 功能模块的设计与实现.............................................................26
4.2.1 Socket 功能模块的设计..................................................................26
4.2.2 Socket 功能模块的具体实现..........................................................27
4.2.3 Socket 模块中各功能函数模块中的调用关系设计......................34
4.3 HTTP 功能模块的设计与实现..............................................................36
4.3.1 HTTP 协议与 URL..........................................................................36
4.3.2 依照 HTTP 协议设计 send()函数发送信息....................................36
4.4 正则表达式过滤模块的设计与实现.....................................................38
4.4.1 URL 正则表达式的定义与实现.....................................................38
4.4.2 开源正则表达式引擎 DEELX 的应用...........................................40
4.4.3 MatchResult 类的调用和设计.........................................................40
4.5 URL 保存模块的设计与实现................................................................42
4.6 宽度搜索模块的设计与实现.................................................................42
4.7 文件存储模块的设计与实现.................................................................44
4.8 多线程的设计与实现.............................................................................45
4.9 运行显示结果.........................................................................................45
4.9.1 输入..................................................................................................45
4.9.2 显示..................................................................................................46
4.9.3 结果..................................................................................................46
4.10 本章总结...............................................................................................47
结论....................................................................................................................48
致谢....................................................................................................................49
参考文献............................................................................................................50
附录....................................................................................................................51
- IV -
第1章 绪论
课题背景
面对浩瀚的网络资源,搜索引擎为所有网上冲浪的用户提供了一个入
口,毫不夸张的说,所有的用户都可以从搜索出发到达自己想去的网上任
何一个地方。因此它也成为除了电子邮件以外最多人使用的网上服务。
什么是搜索引擎?它是如何工作的?搜索引擎一词在国内外因特网领
域被广泛使用,然而他的含义却不尽相同。在美国搜索引擎通常指的是基
于因特网的搜索引擎,他们通过网络机器人程序收集上千万到几亿个网页,
并且每一个词都被搜索引擎索引,也就是我们说的全文检索。著名的因特
网搜索引擎包括 First Search、Google、HotBot 等。在中国,搜索引擎通常
指基于网站目录的搜索服务或是特定网站的搜索服务,本人这里研究的是
基于因特网的搜索技术。
广义的搜索引擎泛指网络(尤其是万维网)上提供信息检索服务的工具
或系统,即在因特网上或通过因特网响应用户的搜索请求,返回相应查询结
果的信息技术和系统.
狭义的搜索引擎主要指利用网络自动搜索软件或人工方式,对万维网信
息资源进行采集,分析与标引,并将索引信息组织成数据库,以网站形式为网
络用户提供检索服务的一类信息服务系统.
概括的说:搜索引擎就是 WWW 网络环境中的一套信息检索系统。它
通常有两种不同的工作方式:一种是分类目录型的检索,把因特网中的资
源收集起来,由其提供的资源的类型不同而分成不同的目录,再一层层地
进行分类,人们要找自己想要的信息可按他们的分类一层层进入,就能最
后到达目的地,找到自己想要的信息;另一种是基于关键词(Keyword)
的检索,这种方式用户可以用逻辑组合方式输入各种关键词,搜索引擎计
算机根据这些关键词寻找用户所需资源的地址,然后根据一定的规则反馈
给用户包含此关键字词信息的所有网址和指向这些网址的链接。
搜索引擎其实也就是一个网站,只不过该网站专门为你提供信息 “检
索”服务,它使用特有的程序把 INTERNET 上的所有信息归类以帮助人们
在浩如烟海的信息海洋中搜寻到自己所需要的信息。随着因特网信息按几
何级数增长,这些搜索引擎利用其内部的一个 spider 程序,自动搜索网站
每一页的开始,并把每一页上代表超级链接的所有词汇放入一个数据库,
供用户来查询。
- 1 -
剩余63页未读,继续阅读
石韬
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- ExcelVBA中的Range和Cells用法说明.pdf
- 基于单片机的电梯控制模型设计.doc
- 主成分分析和因子分析.pptx
- 共享笔记服务系统论文.doc
- 基于数据治理体系的数据中台实践分享.pptx
- 变压器的铭牌和额定值.pptx
- 计算机网络课程设计报告--用winsock设计Ping应用程序.doc
- 高电压技术课件:第03章 液体和固体介质的电气特性.pdf
- Oracle商务智能精华介绍.pptx
- 基于单片机的输液滴速控制系统设计文档.doc
- dw考试题 5套.pdf
- 学生档案管理系统详细设计说明书.doc
- 操作系统PPT课件.pptx
- 智慧路边停车管理系统方案.pptx
- 【企业内控系列】企业内部控制之人力资源管理控制(17页).doc
- 温度传感器分类与特点.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1