当前位置:文档之家› 网络爬虫设计与实现毕业设计论文

网络爬虫设计与实现毕业设计论文

毕业设计(论文)说明书题目:网络爬虫设计与实现学院软件学院专业软件工程毕业设计(论文)任务书题目:网络爬虫设计与实现独创声明本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。

尽我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。

对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。

本声明的法律后果由本人承担。

作者签名:二〇一〇年九月二十日毕业设计(论文)使用授权声明本人完全了解滨州学院关于收集、保存、使用毕业设计(论文)的规定。

本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用。

(保密论文在解密后遵守此规定)作者签名:二〇一〇年九月二十日一、原始依据(包括设计或论文的工作基础、研究条件、应用环境、工作目的等。

)互联网是一个庞大的非结构化的数据库,将数据有效的检索并组织呈现出来有着巨大的应用前景。

搜索引擎作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。

但是,这些通用性搜索引擎也存在着一定的局限性。

不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页。

所以需要一个能基于主题搜索的满足特定需求的网络爬虫。

为了解决上述问题,参照成功的网络爬虫模式,对网络爬虫进行研究,从而能够为网络爬虫实现更深入的主题相关性,提供满足特定搜索需求的网络爬虫。

二、参考文献[1]Winter.中文搜索引擎技术解密:网络蜘蛛 [M].北京:人民邮电出版社,2004年.[2]Sergey等.The Anatomy of a Large-Scale Hypertextual Web Search Engine [M].北京:清华大学出版社,1998年.[3]Wisenut.WiseNut Search Engine white paper [M].北京:中国电力出版社,2001年.[4]Gary R.Wright W.Richard Stevens.TCP-IP协议详解卷3:TCP事务协议,HTTP,NNTP和UNIX域协议 [M].北京:机械工业出版社,2002 年1月.[5]罗刚王振东.自己动手写网络爬虫[M].北京:清华大学出版社,2010年10月.[6]李晓明,闫宏飞,王继民.搜索引擎:原理、技术与系统——华夏英才基金学术文库[M].北京:科学出版社,2005年04月.三、设计(研究)内容和要求(包括设计或研究内容、主要指标与技术参数,并根据课题性质对学生提出具体要求。

)本课题的主要目的是设计面向主题的网络爬虫程序,同时需要满足的是具有一定的性能,要考虑到网络爬虫的各种需求。

网络爬虫应用宽度搜索技术。

对url进行分析,去重。

网络爬虫使用多线程技术,让爬虫具备更强大的抓取能力。

网络爬虫要实现对特定主题的爬取。

网络爬虫还要完成信息提取任务,对于抓取回来的网页提取出来:新闻、电子图书、行业信息等。

对网络爬虫的连接网络设置连接及读取时间,避免无限制的等待。

研究网络爬虫的原理并实现爬虫的相关功能。

最终实现的网络爬虫应该能根据设定的主题,从设定的url进行一定深度的搜索,并最终得到需要的数据。

指导教师(签字)年月日审题小组组长(签字)年月日天津大学本科生毕业设计(论文)开题报告摘要本课题的主要目的是设计面向主题的网络爬虫程序,同时需要满足的是具有一定的性能,考虑到网络爬虫的各种需求。

网络爬虫应用宽度搜索技术。

对url进行分析,去重。

网络爬虫使用多线程技术,让爬虫具备更强大的抓取能力。

对网络爬虫的连接网络设置连接及读取时间,避免无限制的等待。

为了适应不同需求,使网络爬虫可以根据预先设定的主题实现对特定主题的爬取。

研究网络爬虫的原理并实现爬虫的相关功能。

关键词:网络爬虫;面向主题;多线程ABSTRACTThe main purpose of this project is to design subject-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 connection 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; subject-oriented; multi-threading目录第一章概述 (1)1.1 课题背景 (1)1.2 网络爬虫的历史和分类 (1)1.2.1 网络爬虫的历史 (1)1.2.2 网络爬虫的分类 (2)1.3 网络爬虫的发展趋势 (3)第二章相关技术背景 (5)2.1 网络爬虫的定义 (5)2.2 网页搜索策略介绍 (5)2.2.1 广度优先搜索策略 (5)2.2.2 最佳优先搜索策略 (6)2.3 判断相关度算法 (6)第三章网络爬虫模型的分析和概要设计 (8)3.1 网络爬虫的模型分析 (8)3.2 网络爬虫的搜索策略 (8)3.3 网络爬虫的主题相关度判断 (9)3.4 网络爬虫的概要设计 (11)第四章网络爬虫模型的设计和实现 (14)4.1 网络爬虫总体设计 (14)4.2 网络爬虫具体设计 (14)4.2.1 爬取网页 (14)4.2.2 分析网页 (15)4.2.3 判断相关度 (16)4.2.4 保存网页信息 (17)4.2.5 数据库设计和存储 (17)4.2.6 多线程的实现 (17)4.2.7 附加功能 (18)4.2.8 整体流程 (18)第五章测试 (20)第六章总结和展望 (24)第一章概述1.1 课题背景网络爬虫,是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。

另外一些不常使用的名字还有蚂蚁,自动索引,模拟程序或者蠕虫。

网络检索功能起于互联网内容爆炸性发展所带来的对内容检索的需求。

搜索引擎不断的发展,人们的需求也在不断的提高,网络信息搜索已经成为人们每天都要进行的内容.如何使搜索引擎能时刻满足人们的需求。

最初的检索功能通过索引站的方式实现,而有了网络机器人,即网络爬虫这个技术之后,搜索引擎的时代便开始一发不可收拾了。

1.2 网络爬虫的历史和分类1.2.1 网络爬虫的历史在互联网发展初期,网站相对较少,信息查找比较容易。

然而伴随互联网爆炸性的发展,普通网络用户想找到所需的资料简直如同大海捞针,这时为满足大众信息检索需求的专业搜索网站便应运而生了。

现代意义上的搜索引擎的祖先,是1990年由蒙特利尔大学学生Alan Emtage 发明的Archie。

虽然当时World Wide Web还未出现,但网络中文件传输还是相当频繁的,而且由于大量的文件散布在各个分散的FTP主机中,查询起来非常不便,因此Alan Archie工作原理与现在的搜索引擎已经很接近,它依靠脚本程序自动搜索网上的文件,然后对有关信息进行索引,供使用者以一定的表达式查询。

由于 Archie深受用户欢迎,受其启发,美国内华达System Computing Services 大学于1993年开发了另一个与之非常相似的搜索工具,不过此时的搜索工具除了索引文件外,已能检索网页。

当时,“机器人”一词在编程者中十分流行。

电脑“机器人”(Computer Robot)是指某个能以人类无法达到的速度不间断地执行某项任务的软件程序。

由于专门用于检索信息的“机器人”程序象蜘蛛一样在网络间爬来爬去,因此,搜索引擎的“机器人”程序就被称为“蜘蛛”程序。

世界上第一个用于监测互联网发展规模的“机器人”程序是Matthew Gray开发的World wide Web Wanderer。

刚开始它只用来统计互联网上的服务器数量,后来则发展为能够检索网站域名。

与Wanderer相对应,Martin Koster于1993年10月创建了ALIWEB,它是Archie的HTTP版本。

ALIWEB不使用“机器人”程序,而是靠网站主动提交信息来建立自己的链接索引,类似于现在我们熟知的Yahoo。

随着互联网的迅速发展,使得检索所有新出现的网页变得越来越困难,因此,在Matthew Gray的Wanderer基础上,一些编程者将传统的“蜘蛛”程序工作原理作了些改进。

其设想是,既然所有网页都可能有连向其他网站的链接,那么从跟踪一个网站的链接开始,就有可能检索整个互联网。

到1993年底,一些基于此原理的搜索引擎开始纷纷涌现,其中以JumpStation、The World Wide Web Worm (Goto的前身,也就是今天Overture),和Repository-Based Software Engineering (RBSE) spider最负盛名。

然而JumpStation和WWW Worm只是以搜索工具在数据库中找到匹配信息的先后次序排列搜索结果,因此毫无信息关联度可言。

而RBSE是第一个在搜索结果排列中引入关键字串匹配程度概念的引擎最早现代意义上的搜索引擎出现于1994年7月。

当时Michael Mauldin将John Leavitt的蜘蛛程序接入到其索引程序中,创建了大家现在熟知的Lycos。

同年4月,斯坦福(Stanford)大学的两名博士生,David Filo和美籍华人杨致远(Gerry Yang)共同创办了超级目录索引Yahoo,并成功地使搜索引擎的概念深入人心。

相关主题