课程设计实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
竭诚为您提供优质文档/双击可除
课程设计实验报告
篇一:课程设计(综合实验)报告格式
课程设计报告
(20XX--20XX年度第一学期)
名称:题目:院系:班级:学号:学生姓名:指导教师:设计周数:
成绩:日期:《软件设计与实践》课程设计计算机系软件设计与实践教学组
20XX年1月14
日
《软件设计与实践》课程设计
任务书
一、目的与要求
1.了解网络爬虫的架构和工作原理,实现网络爬虫的基本框架;2.开发平台采用JDK1.60eclipse集成开发环境。
二、主要内容
1.了解网络爬虫的构架,熟悉网页抓取的整个流程。
2.学习宽度优先和深度优先算法,实现宽度crawler应用程序的编写、调试和运行。
3.学习主题爬行及内容分析技术。
4.实现网络爬虫的基本框架。
三、进度计划
四、设计成果要求
1.要求按时按量完成所规定的实验内容;
2.界面设计要求友好、灵活、易操作、通用性强、具有实用性;
3.基本掌握所采用的开发平台。五、考核方式
平时成绩+验收+实验报告。
学生姓名:于兴隆指导教师:王蓝婧20XX年1月2日
一、课程设计的目的与要求1.目的:
1.1掌握crawler的工作原理及实现方法;1.2了解爬虫架构;
1.3熟悉网页抓取的整个流程及操作步骤;
1.4掌握宽度优先,深度优先算法,并实现宽度crawler 应用程序的编写、调试和运行;1.5掌握主题爬行及内容分析技术;1.6实现一个最基础的主题爬虫的过程;1.7理解pageRank算法,并编程验证;二、设计正文
网络爬虫研究与应用
[摘要]:本文通过对网络爬虫研究的逐步展开,讨论了
爬虫的相关概念与技术,并通过实验设计了简单的基于宽度优先的爬虫和主题式爬虫。最后,讨论了pageRank算法。[关键词]:网络爬虫爬虫应用pageRank算法1.引言
随着网络技术的迅速发展,万维网已经成为人们获取信息的重要渠道,如何高效地提取并利用这些信息成为一个巨大的挑战。现阶段的搜索引擎,作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。但是,这些通用性搜索引擎也存在着一定的局限性,如:
(1)统一的返回不能满足不同用户的检索需求。
(2)搜索引擎提高覆盖面的目标与膨胀的网络信息之间
的矛盾日益加深。(3)搜索引擎大多提供基于关键字的检索,难以支持根据语义信息提出的查询。
为了解决上述问题,定向抓取相关网页资源的主题爬虫应运而生。主题爬虫是一个自动下载网页的程序,它根据既定的抓取目标,有选择的访问万维网上的网页与相关的链接,获取所需要的信息。与通用爬虫不同,主题爬虫并不追求大的覆盖,而将目标定为抓取与某一特定主题内容相关的网页,为面向主题的用户查询准备数据资源。 2.网络爬虫
2.1Internet上的网页关系建模
如下图所示,如果将网页看成是图中的某一个节点,而将网页中指向其他网页的链接看成是这个节点指向其他节
点的边,那么我们很容易将整个Internet上的网页建模成一个有向图。理论上,通过遍历算法遍历该图,可以访问到Internet上的几乎所有的网页。
图1.网页关系的建模图
2.2搜索引擎的分类和整体结构
2.2.1分类:搜索引擎虽然所采用的技术和实现的方法
各有不同,但是总体来说可以分为两类,一种是基于目录的搜索引擎,另一种是基于全文检索的搜索引擎。2.2.2整体结构:目前,在国内外各主要商业搜索引擎在技术上主要使用了全文检索技术,下图为基于使用全文检索技术的搜索引擎的整体结构。基于全文检索技术的搜索引擎主要由三部分组成,如图所示,信息采集器(网络爬虫),索引器、搜索接口。
图2搜索引擎的整体结构
2.3网络爬虫:
2.3.1定义:网络爬虫是一个自动提取网页的程序,它为搜索引擎从web上下载网页,是搜索引擎的重要组成部分。
2.3.2基本原理:爬虫从一个或若干初始网页的uRL开始,通过分析该uRL的源文件,提取出新的网页链接,继而通过这些链接继续寻找新的链接,这样一直循环下去,直到抓取并分析完所有的网页为止。当然这是理想状态下爬虫的执行过程,但是实际上要抓取Internet上所有的网页是不
可能完成的。从目前公布的数据来看,最好的搜索引擎也只不过抓取了整个Internet40%的网页。这有两个原因,其一是网络爬虫设计时的抓取技术瓶颈造成的,无法遍历所有的网页,很多网页链接不能从其他网页中得到。其二是存储技术和处理技术造成的,如果按照每个页面的平均的大小是
20K,那么100亿个页面的大小就是200000g,对于现在的存储技术来说是个挑战。2.3.3爬行策略:(1)广度优先:广度优先搜索策略是指在抓取过程中,在完成当前层次的搜索后,才进行下一层次的搜索。该算法的设计和实现相对简单,可以覆盖尽可能多的网页。本课题采用广度优先策略。对图1中的节点进行访问:
1-->2-->3-->4-->5-->6-->7-->8(2)深度优先:深度优先搜索策略是一种在开发spider的早期使用得较多的方法,是指网络蜘蛛会从起始页开始,一个链接一个链接跟踪下去,处理完这条线路之后再转入下一个起始页,继续跟踪链接。当不再有其他超链可选择时,说明搜索已经结束。
对图1中的节点进行访
问:1-->2-->5-->6-->3-->7-->4-->82.3.4爬虫物理分布架构
图3爬虫物理分布架构
爬虫部分阶段性地从互联网上抓取内容。存储库存储爬