【PHP开源代码栏目提醒】:网学会员--在 PHP开源代码编辑为广大网友搜集整理了:软件工程毕业设计(论文)-网络爬虫设计与实现 - 毕业设计绩等信息,祝愿广大网友取得需要的信息,参考学习。
完整设计 毕业设计(
论文)说明书 学 院 软件学院 专 业 软件工程 年 级 2007 姓 名 指导教师 2011 年 3月 6 日毕业设计(
论文)任务书 题目:网络爬虫设计与实现 学生姓名 学院名称 软件学院 专 业 软件工程 学 号 指导教师 职 称 讲师 一、原始依据(包括设计或
论文的工作基础、研究条件、应用环境、工作目的等。
) 互联网是一个庞大的非结构化的数据库,将数据有效的检索并组织呈现出来有着巨大的应用前景。
搜索引擎作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。
但是,这些通用性搜索引擎也存在着一定的局限性。
不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页。
所以需要一个能基于主题搜索的满足特定需求的网络爬虫。
为了解决上述问题,参照成功的网络爬虫模式,对网络爬虫进行研究,从而能够为网络爬虫实现更深入的主题相关性,提供满足特定搜索需求的网络爬虫。
二、参考文献1Winter.中文搜索引擎技术解密:网络蜘蛛 M.北京:人民邮电出版社,2004 年.2Sergey 等.The Anatomy of a Large-Scale Hypertextual Web Search EngineM.北京:清华大学出版社,1998 年.3Wisenut.WiseNut Search Engine white paper M.北京:中国电力出版社,2001 年.4Gary 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 进行一定深度的搜索,并最终得到需要的数据。
指导教师(签字) 年 月 日 审题小组组长(签字) 年 月 日 天津大学本科生毕业设计(
论文)开题报告课题名称 网络爬虫设计与实现学院名称 软件学院 专业名称 软件工程学生姓名 指导教师(内容包括:课题的来源及意义,国内外发展状况,本课题的研究目标、研究内容、研究方法、研究手段和进度安排,实验方案的可行性分析和已具备的实验条 )件以及主要参考文献等。
一.课题的来源及意义 互联网是一个庞大的非结构化的数据库,将数据有效的检索并组织呈现出来有着巨大的应用前景。
搜索引擎作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。
但是,这些通用性搜索引擎也存在着一定的局限性。
不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页。
为了解决这个问题,一个灵活的爬虫有着无可替代的重要意义。
二.国内外发展状况 对于网络爬虫的研究从上世纪九十年代就开始了,目前爬虫技术已经趋见成熟,网络爬虫是搜索引擎的重要组成部分。
网络上比较著名的
开源爬虫包括Nutch,Larbin,Heritrix。
网络爬虫最重要的是网页搜索策略(广度优先和最佳度优先)和网页分析策略(基于网络拓扑的分析算法和基于网页内容的网页分 。
析算法)三.研究目标 本
论文主要研究搜索引擎的搜索器(网络爬虫程序)实现简单的可在后台自动运行的爬虫程序。
1.可以多线程进行抓取。
2.可以进行面向主题的抓取。
四.研究内容 本课题研究的内容是如何使网络爬虫灵活高效。
1.如何具备更强的抓取能力。
2.如何分辨重复的网页内容。
3.如何确定主题相关性。
4.对于网络时延等的处理。
五.研究方法 网络爬虫应用宽度搜索技术。
对 url 进行分析,去重。
网络爬虫使用多线程技术,让爬虫具备更强大的抓取能力。
网络爬虫还要完成信息提取任务,对于抓取回来的网页提取出来新闻等信息。
对网络爬虫的连接网络设置连接及读取时间,避免无限制的等待。
研究网络爬虫的原理并实现爬虫的相关功能。
六.研究手段 在 参考网上
开源的网络爬虫和各种网络爬虫相关的书籍, windows 系统环境下开发。
五.本课题进度安排: 2010.12.20—2011.03.10 查阅资料完成任务书 ,完成开题报告 2011.03.11—2011.03.12 开题报告会 2011.03.13—2011.04.24 查阅资料,进行
论文基本章节的写作,完成初稿,并完成进行
代码编写 2011.04.25—2011.04.30 毕业设计中期报告会 2011.05.01—2011.05.22 系统设计结束并再次检查系统的可靠性。
2011.05.23—2011.06.22 完成
论文及答辩六.本课题可行性分析 网络爬虫目前已经比较普遍,国内外有众多对网络爬虫的研究成果,大部分的技术难题已经有解决方案。
所以本课题的可行性较高。
八.实验条件 Windows 操作系统 ;互联网九.主要参考文献1Winter.中文搜索引擎技术解密:网络蜘蛛 M.北京:人民邮电出版社,2004 年.2Sergey 等.The Anatomy of a Large-Scale Hypertextual Web Search EngineM.北京:清华大学出版社,1998 年.3Wisenut.WiseNut Search Engine white paper M.北京:中国电力出版社,2001 年.4Gary R.Wright W.Richard Stevens.TCP-IP 协议详解卷 3:TCP 事务协议,HTTP,NNTP 和 UNIX 域协议 M.北京:机械工业出版社,2002 年 1 月.5罗刚 王振东.自己动手写网络爬虫M.北京:清华大学出版社,2010 年 10月.6李晓明,闫宏飞,王继民.搜索引擎:原理、技术与系统——华夏英才基金学术文库M.北京:科学出版社,2005 年 04 月.选题是否合适: 是□ 否□课题能否实现: 能□ 不能□ 指导教师(签字) 年 月 日选题是否合适: 是□ 否□课题能否实现: 能□ 不能□ 审题小组组长(签字) 年 月 日 摘 要 本课题的主要目的是设计面向主题的网络爬虫程序,同时需要满足的是具有一定的性能,考虑到网络爬虫的各种需求。
网络爬虫应用宽度搜索技术。
对 url 进行分析,去重。
网络爬虫使用多线程技术,让爬虫具备更强大的抓取能力。
对网络爬虫的连接网络设置连接及读取时间,避免无限制的等待。
为了适应不同需求,使网络爬虫可以根据预先设定的主题实现对特定主题的爬取。
研究网络爬虫的原理并实现爬虫的相关功能。
关键词:网络爬虫;面向主题;多线程 ABSTRACT The main purpose of this project is to design subject-oriented web crawlerprocess which is also required to meet certain performance taking intoaccount the diverse needs of web crawlers. Web Crawler uses the technology. of Breadth-first search.Web crawleruses multi-threaded technology so that spiders crawl can have more powerfulcapabilities.Set connection time and read time of the web connection of theWeb crawler to avoid unlimited waiting.In order to meet different needs sothat crawlers can achieve pre-set theme crawling a specific topic.Researchthe principle web crawler and and realize the related functions.Key words:Web crawler subject-oriented multi-threading 天津大学 2007 届本科生毕业设计(
论文) 目 录第一章 概述.................................... 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 天津大学 2007 届本科生毕业设计(
论文) 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 天津大学 2007 届本科生毕业设计(
论文) 第一章 概述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。
刚1 天津大学 2007 届本科生毕业设计(
论文)开始它只用来统计互联网上的服务器数量,后来则发展为能够检索网站域名。
与Wanderer 相对应,Martin Koster 于1993年10月创建了 ALIWEB,它是 Archie 的HTTP 版本。
ALIWEB 不使用“机器人”程序,而是靠网站主动提交信息来建立 自己的链接索引,类似于现在我们熟知的 Yahoo。
随着互联网的迅速发展,使得检索所有新出现的网页变得越来越困难,因此,在 Matthew Gray 的 Wanderer 基础上,一些编程者将传统的“蜘蛛”程序工作原理作了些改进。
其设想是,既然所有网页都可能有连向其他网站的链接,那么从跟踪 一个网站的链接开始,就有可能检索整个互联网。
到1993年底,一些基于此原理的搜索引擎开始纷纷涌现, The 其中以 JumpStation、 World Wide Web Worm ,( Goto 的 前 身 , 也 就 是 今 天 Overture ) 和 Repository-Based SoftwareEngineering RBSE spider 最负盛名。
然而 JumpStation 和 WWW Worm 只是以搜索工具在数据库中找到匹配信息的先后次序排列搜索结果,因此毫无信息关联度可言。
而 RBSE 是第一个在搜索结果排列中引入关键字串匹配程 度概念的引擎 最早现代意义上的搜索引擎出现于1994年7月。
当时 Michael Mauldin 将 John Leavitt 的蜘蛛程序接入到其索引程序中,创建了大家现在熟知的 Lycos。
同年4月,斯坦福(Stanford)大学的两名博士生,David Filo 和美籍华人杨致远(Gerry Yang)共同创办了超级目录索引 Yahoo,并成功地使搜索引擎的概念深入人心。
从此搜索引擎进入了高速发展时期。
目前,互联网上有名有姓的搜索引擎已 达数百家,其检索的信息量也与从前不可同日而语。
比如最近风头正劲的 Google,其数据库中存放的网页已达30亿之巨。
随着互联网规模的急剧膨胀,一家搜索引擎光靠自己单打独斗已无法适应目前的市场状况,因此现在搜索引擎之间开始出现了分工协作,并有了专业的搜索引 擎技术和搜索数据库服务提供商。
象国外的 Inktomi,它本身并不是直接面 、向用户的搜索引擎,但向包括 Overture(原 GoTo) LookSmart、MSN、HotBot等在内的其他搜索引擎提供全文网页搜索服务。
国内的百度也属于这一类(注),搜狐和新浪用的就是它的技术。
因此 从这个意义上说,它们是搜索引擎的搜索引擎。
1.2.2 网络爬虫的分类 网络爬虫种类繁多,如果按照部署在哪里分,可以分成: 1,服务器侧:一般是一个多线程程序, 可以 同时下载多个目标 HTML, 用
PHP,2 天津大学 2007 届本科生毕业设计(
论文)Java Python 等做,一般综合搜索引擎的爬虫这样做。
但是,如果对方讨厌爬虫, 服 很可能封掉服务器的 IP, 务 器 IP 又不容易改,另外耗用的带宽也是较贵。
2,客户端:很适合部署定题爬虫,或者叫聚焦爬虫。
做一个与 Google,百度等竞争的综合搜索引擎成功的机会微乎其微,而垂直搜诉或者比价服务或者推荐引擎,机会要多得多,这类爬虫不是什么页面都取的,而是只取关心的页面,而且只取页面上关心的内容,例如提取黄页信息,商品价格信息,还有提取竞争对手 广告信息的。
这类爬虫可以部署很多,而且可以很有侵略性。
可以低成本大量部署,由于客户端 IP 地址是动态的,所以很难被目标网站封锁。
1.3 网络爬虫的发展趋势 目前,大多数的搜索引擎都是基于关键词的搜索引擎。
基于关键字匹配的搜索技术有较大的局限性:首先,它不能区分同形异义。
其次,不能联想到关键字的同义词。
Web 商业化至今,搜索引擎始终保持着网络上被使用最多的服务项目的地位,然而,随着网上内容的爆炸式增长和内容形式花样的不断翻新,搜索引擎越来越不能满足挑剔的网民们的各种信息需求。
搜索引擎的发展面临着两大难题:一是如何跟上 Internet 的发展速度,二是如何为用户提供更精确的查询结果。
所以,传统的引擎不能适应信息 技术的高速发展,新一代智能搜索引擎作为一种高效搜索引擎技术的在当今的网络信息时代日益引起业界人士的关注。
搜索引擎己成为一个新的研究、 因 开发领域。
为它要用到信息检索、人工智能、计算机网络、分布式处理、数据库、数据挖掘、数字图书馆、自然语言处理等多领域的理论和技术,所以具有综合性和挑战性。
又 由于搜索引擎有大量的用户,有很好的经济价值,所以引起了世界各国计算机科学界和信息产业界的高度关注,目前的研究、开发十分活跃,并出现了很多值得注意的动向。
目前传统搜索引擎下,百度、谷歌等大厂商垄断了网络索引市场,因为它们的存在,日益庞大的互联网内容才能突破网络黑暗状态,变成可知的一个世界。
然而,传统搜索引擎并不能支持定制搜索和信息处理、挖掘,只能以 WEB1.0的形式存在。
可以预见将来互联网信息抓取、挖掘和再处理,将成为人们越来越多的需求,而满足这种需求的,就是各种各样的爬虫与相关的信息处理工具。
现在网络上流行的信息采集工具、网站聚合工具,都是未来新一代爬虫的先驱,甚至已经具备其特点。
但是互联网本身,不管1.0还是2.0,还没有为爬虫时代的到来做好充分3 天津大学 2007 届本科生毕业设计(
论文)准备。
现在游行的 SEO,就是强势搜索引擎条件下对网站结构产生的影响。
爬虫时代到来之后,互联网上会出现专门的信息站点,就是提供给爬虫看的站点。
传统的网络爬虫技术主要应用于抓取静态 Web 网页,随着 AJAX/Web2.0的流行,如何抓取 AJAX 等动态页面成了搜索引擎急需解决的问题,因为 AJAX 颠覆了传统的纯 HTTP 请求/响应协议机制,如果搜索引擎依旧采用“爬”的机制,是无法抓取到 AJAX 页面的有效数据的。
AJAX 采用了 JavaScript 驱动的异步请求/响应机制,以往的爬虫们缺乏JavaScript 语义上的理解,基本上无法模拟触发 JavaScript 的异步调用并解析返回的异步回调逻辑和内容。
另外,在 AJAX 的应用中,JavaScript 会对 DOM 结构进行大量变动,甚至页面所有内容都通过 JavaScript 直接从服务器端读取并动态绘制出来。
这对习惯了 DOM 结构相对不变的静态页面简直是无法理解的。
由此可以看出,以往的爬虫是基于协议驱动的,而对于 AJAX 这样的技术,所需要的爬虫引擎必须是基于事件驱动的。
4 天津大学 2007 届本科生毕业设计(
论文) 第二章 相关技术背景2.1 网络爬虫的定义 定义 1:网络爬虫是一个自动提取网页的程序,它为搜索引擎从 Web 上下载网页,是搜索引擎的重要组成部分。
通用网络爬虫从一个或若干初始网页的 URL开始,获得初始网页上的 URL 列表;在抓取网页的过程中,不断从当前页面上抽取新的 URL 放入待爬行队列,直到满足系统的停止条件。
定义 2:主题网络爬虫就是根据一定的网页分析算法过滤与主题无关的链接,保留主题相关的链接并将其放入待抓取的 URL 队列中;然后根据一定的搜索策略从队列中选择下一步要抓取的网页 URL,并重复上述过程,直到达到系统的某一条件时停止。
所有被网络爬虫抓取的网页将会被系统存储,进行一定的分析、过滤,并建立索引,对于主题网络爬虫来说,这一过程所得到的分析结果还可能对后续的抓取过程进行反馈和指导。
定义 3:如果网页 .
上一篇:
毕业论文
下一篇:
法律专业开题报告范文