网络爬虫的设计及实现完整版本.doc

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络爬虫的设计与实现 摘 要 网络爬虫将下载的网页和收集到的网页信息存储在本地数据库中以供搜索 引擎使用,它是一个专门从万维网上下载网页并分析网页的程序。 随着网络的快速发展,人们对搜索引擎的要求也越来越高, 而网络爬虫的效率直接影响着搜索引擎的质量。 本课题研究的是通用网络爬虫, 它是从一个或若干个初始网页的链接开始进而得到一个链接队列。 伴随着网页的抓取又不断从抓取到的网页中抽取新链接放入到链接队列中, 直到爬虫系统满足了停止条件。 该课题主要涉及到了缓冲池技术,多线程技术,套接字技术, HTTP和 SSL协议,正则表达式, Linux 网络编程技术, PHP+Apache的使用等相关技术。 本说明书叙述的网络爬虫是以 Linux C实现的,加以 PHP语言编写的界面使用户更加方面的操作,利用 Shell 脚本和 Apache 服务器使得爬虫系统和界面很好的结合在一起。 关键词:网络爬虫 缓冲池 正则表达式 SSL 协议 多线程 目 次 1 引言 1 1.1 课题选题背景 1 1.2 课题研究的意义 2 2 需求分析 3 2.1 功能需求分析 3 2.2 系统性能分析 4 3 系统设计 5 3.1 系统工作流程图 5 3.2 数据结构设计 6 3.3 系统各功能流程图 7 4 系统实现 10 4.1 相关技术分析 10 4.2 系统功能模块的实现 11 5 测试与结果 17 结论 23 致 谢 错误 ! 未定义书签。 参 考 文 献 24 引言 随着网络技术日新月异的发展,互联网俨然已成为信息的最大载体。为了能够在浩瀚的信息海洋中精确地查询用户所需要的信息,搜索引擎技术应运而生。目前比较流行的搜索引擎是 Google 和百度,他们拥有着庞大的用户数量。 作为搜索引擎的重要组成部分,网络爬虫的设计直接影响着搜索引擎的质量。网络爬虫是一个专门从万维网上下载网页并分析网页的程序。它将下载的网页和采集到的网页信息存储在本地数据库中以供搜索引擎使用。网络爬虫的工作原理是从一个或若干初始网页的链接开始进而得到一个链接队列。伴随着网页的抓取又不断从抓取到的网页里抽取新的链接放入到链接队列中,直到爬虫程序满足系统的某一条件时停止。 本说明书对课题背景进行简单介绍的同时,又对研究网络爬虫的意义进行了叙 述,在此基础上,详细的介绍来了利用 C 语言在 linux 系统上开发出多线程网络爬 虫的设计步骤。 1.1 课题选题背景 搜索引擎是用户在网上冲浪时经常使用的一种工具,毫无疑问,每个用户都可 以通过搜索引擎得到自己所需要的网络资源。搜索引擎一词在互联网领域得到广泛 的应用,但是每个地区对它又有着不同的理解。在一些欧美国家搜索引擎常常是基 于因特网的,它们通过网络爬虫程序采集网页,并且索引网页的每个词语,也就是 全文检索。而在一些亚洲国家,搜索引擎通常是基于网站目录的搜索服务。 总的来说:搜索引擎只是一种检索信息的工具。它的检索方式分为以下两种: 一种是目录型的方式,爬虫程序把网络的资源采集在一起,再根据资源类型的不同 而分成不同的目录,然后继续一层层地进行分类,人们查询信息时就是按分类一层 层进入的,最后得到自己所需求的信息。另一种是用户经常使用的关键字方式, 搜索引擎根据用户输入的关键词检索用户所需资源的地址,然后把这些地址反馈给 用户。 1.2 课题研究的意义 网络在我们的生活中越来越重要,网络的信息量也越来越大,研究该课题可以 更好的理解网络爬虫在搜索引擎中的作用以及网络爬虫的原理。现实中,一般的服 务器大多是 linux 系统该课题更好的配合了 linux 系统上运行爬虫程序,加上界面 更容易操作。 21 世纪是一个讲究信息安全的时代,于是网站上出现了越来越多的 https( 超文本传输安全协议 ) 协议的链接 , 该课题很好的利用了 SSL协议解决了下载 https 协议链接的问题。设备的内存是珍贵的,如何更加合理有效地利用内存提高 内存的利用率是值得研究的,该课题为了解决内存的利用使用了内存池来提高内存 的使用率。 需求分析 网络爬虫是一个专门从万维网上下载网页并分析网页的程序。 它将下载的网 页和收集到的信息存储在本地数据库中以供搜索引擎使用。 网络爬虫的工作原理 是从一个或若干初始网页的链接开始进而得到一个链接队列。 伴随着网页的抓取 又不断从抓取到的网页里抽取新的链接放入到链接队列中, 直到爬虫程序满足系 统的某一条件时停止。它是搜索引擎的重要组成部分。 2.1 功能需求分析 网页下载功能 能够下载任何 http 协议和 https 协议的链接的网页。 ② 构造 HTTP请求中的 GET请求。 ③ 分析 HTTP响应请求。 网页分析功能 提取网页标题。 ② 提取网页关

您可能关注的文档

文档评论(0)

137****9542 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档