《网络爬虫设计与实现毕业设计论文》由会员分享,可在线阅读,更多相关《网络爬虫设计与实现毕业设计论文(53页珍藏版)》请在金锄头文库上搜索。
1、毕业设计(论文)开题报告课题名称网络爬虫设计与实现学院名称软件学院专业名称软件工程学生姓名 指导教师 (内容包括:课题的来源及意义,国内外发展状况,本课题的研究目标、研究内容、研究方法、研究手段和进度安排,实验方案的可行性分析和已具备的实验条件以及主要参考文献等。)一 课题的来源及意义互联网是一个庞大的非结构化的数据库,将数据有效的检索并组织呈现出来有着巨大的应用前景。搜索引擎作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。但是,这些通用性搜索引擎也存在着一定的局限性。不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页。为了解决
2、这个问题,一个灵活的爬虫有着无可替代的重要意义。二 国内外发展状况对于网络爬虫的研究从上世纪九十年代就开始了,目前爬虫技术已经趋见成熟,网络爬虫是搜索引擎的重要组成部分。网络上比较著名的开源爬虫包括Nutch,Larbin,Heritrix。网络爬虫最重要的是网页搜索策略(广度优先和最佳度优先)和网页分析策略(基于网络拓扑的分析算法和基于网页内容的网页分析算法)。三 研究目标本论文主要研究搜索引擎的搜索器(网络爬虫程序)的设计与实现,实现简单的可在后台自动运行的爬虫程序。1. 可以多线程进行抓取。2. 可以进行面向主题的抓取。四研究内容本课题研究的内容是如何使网络爬虫灵活高效。1. 如何具备更
3、强的抓取能力。2. 如何分辨重复的网页内容。3. 如何确定主题相关性。4. 对于网络时延等的处理。五研究方法网络爬虫应用宽度搜索技术。对url进行分析,去重。网络爬虫使用多线程技术,让爬虫具备更强大的抓取能力。网络爬虫还要完成信息提取任务,对于抓取回来的网页提取出来新闻等信息。对网络爬虫的连接网络设置连接及读取时间,避免无限制的等待。研究网络爬虫的原理并实现爬虫的相关功能。六 研究手段参考网上开源的网络爬虫和各种网络爬虫相关的书籍,在windows系统环境下开发。五 本课题进度安排: 2010.12.202011.03.10 查阅资料完成任务书 ,完成开题报告 2011.03.112011.0
4、3.12 开题报告会 2011.03.132011.04.24 查阅资料,进行论文基本章节的写作,完成初稿, 并完成进行代码编写 2011.04.252011.04.30 毕业设计中期报告会 2011.05.012011.05.22 系统设计结束并再次检查系统的可靠性。2011.05.232011.06.22 完成论文及答辩六 本课题可行性分析网络爬虫目前已经比较普遍,国内外有众多对网络爬虫的研究成果,大部分的技术难题已经有解决方案。所以本课题的可行性较高。八 实验条件Windows 操作系统 ;互联网九 主要参考文献1Winter中文搜索引擎技术解密:网络蜘蛛 M北京:人民邮电出版社,200
5、4年2Sergey等The Anatomy of a Large-Scale Hypertextual Web Search Engine M北京:清华大学出版社,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李晓明,闫宏飞,王继民搜索引擎:原理、技术与系统
6、华夏英才基金学术文库M北京:科学出版社,2005年04月.选题是否合适: 是 否课题能否实现: 能 不能指导教师(签字)年 月 日选题是否合适: 是 否课题能否实现: 能 不能审题小组组长(签字)年 月 日摘 要本课题的主要目的是设计面向主题的网络爬虫程序,同时需要满足的是具有一定的性能,考虑到网络爬虫的各种需求。网络爬虫应用宽度搜索技术。对url进行分析,去重。网络爬虫使用多线程技术,让爬虫具备更强大的抓取能力。对网络爬虫的连接网络设置连接及读取时间,避免无限制的等待。为了适应不同需求,使网络爬虫可以根据预先设定的主题实现对特定主题的爬取。研究网络爬虫的原理并实现爬虫的相关功能。关键词:网络
7、爬虫;面向主题;多线程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 tec
8、hnology, 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
9、 crawler and and realize the related functions.Key words:Web crawler; subject-oriented; multi-threading 目录第一章概述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网络爬虫的主
10、题相关度判断103.4网络爬虫的概要设计12第四章 网络爬虫模型的设计和实现154.1网络爬虫总体设计154.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第一章概述1.1课题背景 网络爬虫,是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁,自动索引,模拟程序或者蠕虫。 网络检索功能起于互联网内容爆炸性发展所带来的对内容检索的需求。搜索引擎不断的发展,人
11、们的需求也在不断的提高,网络信息搜索已经成为人们每天都要进行的内容.如何使搜索引擎能时刻满足人们的需求。最初的检索功能通过索引站的方式实现,而有了网络机器人,即网络爬虫这个技术之后,搜索引擎的时代便开始一发不可收拾了。1.2网络爬虫的历史和分类1.2.1网络爬虫的历史在互联网发展初期,网站相对较少,信息查找比较容易。然而伴随互联网爆炸性的发展,普通网络用户想找到所需的资料简直如同大海捞针,这时为满足大众信息检索需求的专业搜索网站便应运而生了。现代意义上的搜索引擎的祖先,是1990年由蒙特利尔大学学生Alan Emtage发明的Archie。虽然当时World Wide Web还未出现,但网络中
12、文件传输还是相当频繁的,而且由于大量的文件散布在各个分散的FTP主机中,查询起来非常不便,因此Alan Archie工作原理与现在的搜索引擎已经很接近,它依靠脚本程序自动搜索网上的文件,然后对有关信息进行索引,供使用者以一定的表达式查询。由于 Archie深受用户欢迎,受其启发,美国内华达System Computing Services大学于1993年开发了另一个与之非常相似的搜索工具,不过此时的搜索工具除了索引文件外,已能检索网页。当时,“机器人”一词在编程者中十分流行。电脑“机器人”(Computer Robot)是指某个能以人类无法达到的速度不间断地执行某项任务的软件程序。由于专门用于
13、检索信息的“机器人”程序象蜘蛛一样在网络间爬来爬去,因此, 搜索引擎的“机器人”程序就被称为“蜘蛛”程序。世界上第一个用于监测互联网发展规模的“机器人”程序是Matthew Gray开发的World wide Web Wanderer。刚开始它只用来统计互联网上的服务器数量,后来则发展为能够检索网站域名。与Wanderer相对应,Martin Koster于1993年10月创建了ALIWEB,它是Archie的HTTP版本。ALIWEB不使用“机器人”程序,而是靠网站主动提交信息来建立 自己的链接索引,类似于现在我们熟知的Yahoo。随着互联网的迅速发展,使得检索所有新出现的网页变得越来越困难
14、,因此,在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,并成功地使搜索引擎的概念深入人心。从此搜索引擎进入了高速发展时期。目前,互联网上有名有姓的搜索引擎已 达数百家,其检索的信息量也与从前