软件工程毕业设计论文网络爬虫设计与实现.doc
《软件工程毕业设计论文网络爬虫设计与实现.doc》由会员分享,可在线阅读,更多相关《软件工程毕业设计论文网络爬虫设计与实现.doc(57页珍藏版)》请在三一办公上搜索。
1、毕业设计(论文)说明书学 院 软件学院 专 业 软件工程 年 级 2007 姓 名 指导教师 2011年 3月 6 日毕业设计(论文)任务书题目:网络爬虫设计与实现学生姓名 学院名称 软件学院 专 业 软件工程 学 号 指导教师 职 称 讲师 一、 原始依据(包括设计或论文的工作基础、研究条件、应用环境、工作目的等。)互联网是一个庞大的非结构化的数据库,将数据有效的检索并组织呈现出来有着巨大的应用前景。搜索引擎作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。但是,这些通用性搜索引擎也存在着一定的局限性。不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果
2、包含大量用户不关心的网页。所以需要一个能基于主题搜索的满足特定需求的网络爬虫。为了解决上述问题,参照成功的网络爬虫模式,对网络爬虫进行研究,从而能够为网络爬虫实现更深入的主题相关性,提供满足特定搜索需求的网络爬虫。二、 参考文献1Winter中文搜索引擎技术解密:网络蜘蛛 M北京:人民邮电出版社,2004年2Sergey等The Anatomy of a Large-Scale Hypertextual Web Search Engine M北京:清华大学出版社,1998年3WisenutWiseNut Search Engine white paper M北京:中国电力出版社,2001年4G
3、ary R.Wright W.Richard StevensTCP-IP协议详解卷3:TCP事务协议,HTTP,NNTP和UNIX域协议 M北京:机械工业出版社,2002 年1月.5罗刚 王振东自己动手写网络爬虫M北京:清华大学出版社,2010年10月.6李晓明,闫宏飞,王继民搜索引擎:原理、技术与系统华夏英才基金学术文库M北京:科学出版社,2005年04月.三、 设计(研究)内容和要求(包括设计或研究内容、主要指标与技术参数,并根据课题性质对学生提出具体要求。)本课题的主要目的是设计面向主题的网络爬虫程序,同时需要满足的是具有一定的性能,要考虑到网络爬虫的各种需求。网络爬虫应用宽度搜索技术。
4、对url进行分析,去重。网络爬虫使用多线程技术,让爬虫具备更强大的抓取能力。网络爬虫要实现对特定主题的爬取。网络爬虫还要完成信息提取任务,对于抓取回来的网页提取出来:新闻、电子图书、行业信息等。对网络爬虫的连接网络设置连接及读取时间,避免无限制的等待。研究网络爬虫的原理并实现爬虫的相关功能。最终实现的网络爬虫应该能根据设定的主题,从设定的url进行一定深度的搜索,并最终得到需要的数据。 指导教师(签字)年 月 日审题小组组长(签字)年 月 日天津大学本科生毕业设计(论文)开题报告课题名称网络爬虫设计与实现学院名称软件学院专业名称软件工程学生姓名指导教师(内容包括:课题的来源及意义,国内外发展状
5、况,本课题的研究目标、研究内容、研究方法、研究手段和进度安排,实验方案的可行性分析和已具备的实验条件以及主要参考文献等。)一 课题的来源及意义互联网是一个庞大的非结构化的数据库,将数据有效的检索并组织呈现出来有着巨大的应用前景。搜索引擎作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。但是,这些通用性搜索引擎也存在着一定的局限性。不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页。为了解决这个问题,一个灵活的爬虫有着无可替代的重要意义。二 国内外发展状况对于网络爬虫的研究从上世纪九十年代就开始了,目前爬虫技术已经趋见成熟,网络爬虫
6、是搜索引擎的重要组成部分。网络上比较著名的开源爬虫包括Nutch,Larbin,Heritrix。网络爬虫最重要的是网页搜索策略(广度优先和最佳度优先)和网页分析策略(基于网络拓扑的分析算法和基于网页内容的网页分析算法)。三 研究目标本论文主要研究搜索引擎的搜索器(网络爬虫程序)的设计与实现,实现简单的可在后台自动运行的爬虫程序。1. 可以多线程进行抓取。2. 可以进行面向主题的抓取。四研究内容本课题研究的内容是如何使网络爬虫灵活高效。1. 如何具备更强的抓取能力。2. 如何分辨重复的网页内容。3. 如何确定主题相关性。4. 对于网络时延等的处理。五研究方法网络爬虫应用宽度搜索技术。对url进
7、行分析,去重。网络爬虫使用多线程技术,让爬虫具备更强大的抓取能力。网络爬虫还要完成信息提取任务,对于抓取回来的网页提取出来新闻等信息。对网络爬虫的连接网络设置连接及读取时间,避免无限制的等待。研究网络爬虫的原理并实现爬虫的相关功能。六 研究手段参考网上开源的网络爬虫和各种网络爬虫相关的书籍,在windows系统环境下开发。五 本课题进度安排: 2010.12.202011.03.10 查阅资料完成任务书 ,完成开题报告 2011.03.112011.03.12 开题报告会 2011.03.132011.04.24 查阅资料,进行论文基本章节的写作,完成初稿, 并完成进行代码编写 2011.04
8、.252011.04.30 毕业设计中期报告会 2011.05.012011.05.22 系统设计结束并再次检查系统的可靠性。2011.05.232011.06.22 完成论文及答辩六 本课题可行性分析网络爬虫目前已经比较普遍,国内外有众多对网络爬虫的研究成果,大部分的技术难题已经有解决方案。所以本课题的可行性较高。八 实验条件Windows 操作系统 ;互联网九 主要参考文献1Winter中文搜索引擎技术解密:网络蜘蛛 M北京:人民邮电出版社,2004年2Sergey等The Anatomy of a Large-Scale Hypertextual Web Search Engine M北
9、京:清华大学出版社,1998年3WisenutWiseNut Search Engine white paper M北京:中国电力出版社,2001年4Gary R.Wright W.Richard StevensTCP-IP协议详解卷3:TCP事务协议,HTTP,NNTP和UNIX域协议 M北京:机械工业出版社,2002 年1月.5罗刚 王振东自己动手写网络爬虫M北京:清华大学出版社,2010年10月.6李晓明,闫宏飞,王继民搜索引擎:原理、技术与系统华夏英才基金学术文库M北京:科学出版社,2005年04月.选题是否合适: 是 否课题能否实现: 能 不能指导教师(签字)年 月 日选题是否合适:
10、 是 否课题能否实现: 能 不能审题小组组长(签字)年 月 日摘 要本课题的主要目的是设计面向主题的网络爬虫程序,同时需要满足的是具有一定的性能,考虑到网络爬虫的各种需求。网络爬虫应用宽度搜索技术。对url进行分析,去重。网络爬虫使用多线程技术,让爬虫具备更强大的抓取能力。对网络爬虫的连接网络设置连接及读取时间,避免无限制的等待。为了适应不同需求,使网络爬虫可以根据预先设定的主题实现对特定主题的爬取。研究网络爬虫的原理并实现爬虫的相关功能。关键词:网络爬虫;面向主题;多线程ABSTRACTThe main purpose of this project is to design subject
11、-oriented web crawler process which is also required to meet certain performance, taking into account the diverse needs of web crawlers.Web Crawler uses the technology. of Breadth-first search.Web crawler uses multi-threaded technology, so that spiders crawl can have more powerful capabilities.Set c
12、onnection time and read time of the web connection of the Web crawler , to avoid unlimited waiting.In order to meet different needs, so that crawlers can achieve pre-set theme crawling a specific topic.Research the principle web crawler and and realize the related functions.Key words:Web crawler; su
13、bject-oriented; multi-threading 天津大学2007届本科生毕业设计(论文)目录第一章概述11.1课题背景11.2网络爬虫的历史和分类21.2.1网络爬虫的历史21.2.2网络爬虫的分类31.3网络爬虫的发展趋势4第二章 相关技术背景62.1网络爬虫的定义62.2网页搜索策略介绍62.2.1广度优先搜索策略62.2.2最佳优先搜索策略72.3判断相关度算法7第三章 网络爬虫模型的分析和概要设计93.1网络爬虫的模型分析93.2网络爬虫的搜索策略93.3网络爬虫的主题相关度判断103.4网络爬虫的概要设计12第四章 网络爬虫模型的设计和实现154.1网络爬虫总体设计1
14、54.2网络爬虫具体设计154.2.1爬取网页154.2.2分析网页164.2.3判断相关度174.2.4保存网页信息184.2.5数据库设计和存储184.2.6多线程的实现184.2.7附加功能194.2.8整体流程19第五章测试21第六章总结和展望24天津大学2007届本科生毕业设计(论文)第一章概述1.1课题背景 网络爬虫,是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁,自动索引,模拟程序或者蠕虫。 网络检索功能起于互联网内容爆炸性发展所带来的对内容检索的需求。搜索引擎不断的发展,人们的需求也在不断的提高,网络信息搜索已经成为人们每天都要进行的内
15、容.如何使搜索引擎能时刻满足人们的需求。最初的检索功能通过索引站的方式实现,而有了网络机器人,即网络爬虫这个技术之后,搜索引擎的时代便开始一发不可收拾了。1.2网络爬虫的历史和分类1.2.1网络爬虫的历史在互联网发展初期,网站相对较少,信息查找比较容易。然而伴随互联网爆炸性的发展,普通网络用户想找到所需的资料简直如同大海捞针,这时为满足大众信息检索需求的专业搜索网站便应运而生了。现代意义上的搜索引擎的祖先,是1990年由蒙特利尔大学学生Alan Emtage发明的Archie。虽然当时World Wide Web还未出现,但网络中文件传输还是相当频繁的,而且由于大量的文件散布在各个分散的FTP
16、主机中,查询起来非常不便,因此Alan Archie工作原理与现在的搜索引擎已经很接近,它依靠脚本程序自动搜索网上的文件,然后对有关信息进行索引,供使用者以一定的表达式查询。由于 Archie深受用户欢迎,受其启发,美国内华达System Computing Services大学于1993年开发了另一个与之非常相似的搜索工具,不过此时的搜索工具除了索引文件外,已能检索网页。当时,“机器人”一词在编程者中十分流行。电脑“机器人”(Computer Robot)是指某个能以人类无法达到的速度不间断地执行某项任务的软件程序。由于专门用于检索信息的“机器人”程序象蜘蛛一样在网络间爬来爬去,因此, 搜索
17、引擎的“机器人”程序就被称为“蜘蛛”程序。世界上第一个用于监测互联网发展规模的“机器人”程序是Matthew Gray开发的World wide Web Wanderer。刚开始它只用来统计互联网上的服务器数量,后来则发展为能够检索网站域名。与Wanderer相对应,Martin Koster于1993年10月创建了ALIWEB,它是Archie的HTTP版本。ALIWEB不使用“机器人”程序,而是靠网站主动提交信息来建立 自己的链接索引,类似于现在我们熟知的Yahoo。随着互联网的迅速发展,使得检索所有新出现的网页变得越来越困难,因此,在Matthew Gray的Wanderer基础上,一些
18、编程者将传统的“蜘蛛”程序工作原理作了些改进。其设想是,既然所有网页都可能有连向其他网站的链接,那么从跟踪 一个网站的链接开始,就有可能检索整个互联网。到1993年底,一些基于此原理的搜索引擎开始纷纷涌现,其中以JumpStation、The World Wide Web Worm(Goto的前身,也就是今天Overture),和Repository-Based Software Engineering (RBSE) spider最负盛名。然而JumpStation和WWW Worm只是以搜索工具在数据库中找到匹配信息的先后次序排列搜索结果,因此毫无信息关联度可言。而RBSE是第一个在搜索结果
19、排列中引入关键字串匹配程 度概念的引擎 最早现代意义上的搜索引擎出现于1994年7月。当时Michael Mauldin将John Leavitt的蜘蛛程序接入到其索引程序中,创建了大家现在熟知的Lycos。同年4月,斯坦福(Stanford)大学的两名博士生,David Filo和美籍华人杨致远(Gerry Yang)共同创办了超级目录索引Yahoo,并成功地使搜索引擎的概念深入人心。从此搜索引擎进入了高速发展时期。目前,互联网上有名有姓的搜索引擎已 达数百家,其检索的信息量也与从前不可同日而语。比如最近风头正劲的Google,其数据库中存放的网页已达30亿之巨。随着互联网规模的急剧膨胀,一
20、家搜索引擎光靠自己单打独斗已无法适应目前的市场状况,因此现在搜索引擎之间开始出现了分工协作,并有了专业的搜索引 擎技术和搜索数据库服务提供商。象国外的Inktomi,它本身并不是直接面向用户的搜索引擎,但向包括Overture(原GoTo)、 LookSmart、MSN、HotBot等在内的其他搜索引擎提供全文网页搜索服务。国内的百度也属于这一类(注),搜狐和新浪用的就是它的技术。因此 从这个意义上说,它们是搜索引擎的搜索引擎。1.2.2网络爬虫的分类网络爬虫种类繁多,如果按照部署在哪里分,可以分成:1,服务器侧:一般是一个多线程程序,同时下载多个目标HTML,可以用PHP, Java, Py
21、thon等做,一般综合搜索引擎的爬虫这样做。但是,如果对方讨厌爬虫,很可能封掉服务器的IP,服务器IP又不容易改,另外耗用的带宽也是较贵。2,客户端:很适合部署定题爬虫,或者叫聚焦爬虫。做一个与Google,百度等竞争的综合搜索引擎成功的机会微乎其微,而垂直搜诉或者比价服务或者推 荐引擎,机会要多得多,这类爬虫不是什么页面都取的,而是只取关心的页面,而且只取页面上关心的内容,例如提取黄页信息,商品价格信息,还有提取竞争对手 广告信息的。这类爬虫可以部署很多,而且可以很有侵略性。可以低成本大量部署,由于客户端IP地址是动态的,所以很难被目标网站封锁。1.3网络爬虫的发展趋势目前,大多数的搜索引擎
22、都是基于关键词的搜索引擎。基于关键字匹配的搜索技术有较大的局限性:首先,它不能区分同形异义。其次,不能联想到关键字的同义词。Web商业化至今,搜索引擎始终保持着网络上被使用最多的服务项目的地位,然而,随着网上内容的爆炸式增长和内容形式花样的不断翻新,搜索引擎越来越不能满足挑剔的网民们的各种信息需求。搜索引擎的发展面临着两大难题:一是如何跟上Internet的发展速度,二是如何为用户提供更精确的查询结果。所以,传统的引擎不能适应信息 技术的高速发展,新一代智能搜索引擎作为一种高效搜索引擎技术的在当今的网络信息时代日益引起业界人士的关注。搜索引擎己成为一个新的研究、开发领域。因 为它要用到信息检索
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 毕业设计 论文 网络 爬虫 设计 实现
链接地址:https://www.31ppt.com/p-4864481.html