ImageVerifierCode 换一换
格式:DOCX , 页数:57 ,大小:1.54MB ,
资源ID:23907122      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23907122.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(新闻爬虫系统的设计与实现毕业论文设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

新闻爬虫系统的设计与实现毕业论文设计.docx

1、新闻爬虫系统的设计与实现毕业论文设计摘要随着计算机网络在世界X围的飞速开展,互联网作为最具潜力与活力的媒体已经被公认是继报纸,广播,电视之后的“第四媒体,成为反映社会新闻热点的重要载体。为了与时了解网络新闻热点,相关机构引入了新闻热点分析系统。本文设计的新闻爬虫系统是新闻热点分析系统的数据源,负责新闻信息的采集。本文借助于爬虫领域的相关技术与工具,结合新闻热点分析系统的需求从原理或工作流程上详细论述了爬虫系统中核心模块的具体实现。本文所描述的新闻爬虫系统其数据来源主要是新浪新闻,首先利用爬虫工具将新闻数据获取到本地数据库中,然后将新闻信息以与新闻分析的结果将在前台网页中进展可视化输出。本文主要

2、进展了以下几个方面的工作: 1利用Java语言结合Client开源工具编写了一个针对新浪新闻的可扩展的网络爬虫,该爬虫程序能够按照广度优先的爬行策略对新闻数据包括图片信息进展全面的定向抓取以与周期性的增量抓取;2采用HTMLParser对获取到的新闻信息进展元数据抽取,将新闻的编号、标题、内容、发布方、发布时间等元数据以与新闻图片等元数据解析出来并存入SQL Server数据库中;3前端界面利用开源AJAX框架ExtJS结合Servlet进展实现,兼顾用户交互方式的多样性以与系统的跨浏览器兼容性。通过使用该新闻爬取系统,用户能够实时的更新新闻信息,与时、全面、准确地掌握新闻热点动态,提高对于重

3、大突发事件的处理能力,对于更与时,全面的了解各地的实时信息具有重要意义。关键词:新闻热点,网络爬虫,元数据抽取,可视化ABSTRACTWith the rapid development of World Wide Web(),it is widelyaccepted that the internet,called the Fourth Media,will be the most potentialand energetic media after newspaper,radio and television as an important carrier of the hot socie

4、ty news.In order to know the internet hot news in time,the related organizations introduced the hot news and analysis system. The news spider system is in the information collection layer and is the fundamental part of hot news analysis system.It is responsible for the information collection . In th

5、e help of related technologies and tools and with the needs of the system itself ,the paper discuss the concrete realization of the code module in detail .The data of the news spider system es from news of sina . First using web crawler to get data from news to local database , finally visualize the

6、 public opinion information on the front page. This article mainly has carried on the following several aspects work:1) Using Java and Client developed a scalable web crawler which focus on DISCUZ BBS. Besides, this crawler can conduct a prehensive orientation of fetching and periodic increment of f

7、etching from BBS data (including the BBS post information and all its replies)under breadth-first strategy. 2Using HTMLParser to extract meta-data from the BBS information, parsed and stored the meta-data, such as number, title, content, poster,posting time and the corresponding reply in a SQL Serve

8、r database.3 front-end interface bined with the use of open source AJAX framework ExtJS Servlet be achieved, taking into account the diversity of user interaction and system cross-browser patibility. By using this news crawling system, users can real-time news and information updated, timely, prehen

9、sive and accurate grasp of hot news developments, improve the handling capacity of major emergencies, for more timely and prehensive understanding of an important real-time information across significance.Key Words: Hot news,Web crawler,Metadata extraction,Visualization1 绪论 本章主要说明了该课题的研究背景与其研究意义,简要说

10、明了国内外对于爬虫系统的研究现状,并介绍了本论文的主要内容组成以与论文的组织结构。1.1 开发背景与目的随着互联网技术的开展与应用的普与,网络作为信息的载体,已经成为社会大众参与社会生活的一种重要信息渠道。由于互联网是开放的,每个人都可以在网络上发表信息,内容涉与各个方面。小到心情日志,大到国家大事。互联网已成为思想文化信息的集散地,并具有传统媒体无法相比的优势:便捷性,虚拟性,互动性,多元性。网络新闻热点通常形成迅速,多是人们对于日常生活中的各种问题发表的各种意见,评论,态度,情绪等,随着事件的开展而变化,是反映社会热点的重要载体之一。网络爬虫是一种按照一定上网规如此,自动的抓取万维网信息的

11、程序或脚本。网络检索功能起于互联网内容爆炸性开展所带来的对内容检索的需求。搜素引擎不断开展,人们的需求也不断提高,网络信息搜索已经成为人们每天都有进展的内容。如何使搜索引擎能够时刻满足人们的需求?最初的检索功能通过索引站的方式实现,从而有了网络机器人。本课题来源于新闻爬虫系统项目的建设,旨在为相关机构提供与时的网络信息服务。这些服务与现有的搜索引擎提供的服务不同,其重要特征主要表现在:与时性,专用性,人性化。1、与时性新闻爬虫系统通过爬虫技术自动爬取新闻信息,定期对相应类型的新闻的地址进展扫描,如假如该新闻并未被爬取过如此对其进展自动爬取。让系统的工作人员可以静观事态的开展。2、专用性 新闻爬

12、虫系统的专用性表现在数据采集,数据分析,数据展现等几个环节上。在数据采集方面系统采用手动爬取与增量爬取相结合的方式。有针对性的采集需要的几个类别的新闻信息,并对信息进展抽取,去噪,结构化处理,为后续专用分析创造条件。在数据分析与数据展示方面,系统通过对得到的信息进展深入的分析,将分析结果进展多维度的展现。3、人性化 新闻爬虫系统的人性化主要表现在数据结果的展示上。 用户可以随时查看任意一个时间的新闻分析结果,而且该系统由于是基于多线程的程序完成任务的效率高。所以不管实在界面上还是在效率上都非常的人性化。 新闻爬虫系统项目建设意义重大。一方面,新闻爬虫系统提供了大量的分析素材,方便全面的了解大众

13、网络新闻的热点。另一方面,原来的新闻信息收集工作主要依靠人工完成,工作量巨大,覆盖面小,不仅费时费力而且还不免出现人为疏漏的情况,这种局面亟待通过技术手段提高工作效率。 本文完成的是新闻爬虫系统的设计与实现,该爬虫系统为新闻分析系统提供数据源,完成新闻信息的搜集。因此可以说爬虫系统是整个分析系统的根底,并且爬虫系统输出结果的好坏直接影响着系统结果的展现。 1.2 国内外相关研究现状1.2.1 网络爬虫从搜索对象上来分类,主流的的爬虫技术包括以下两种:第一种是基于分析的搜索。上世纪九十年代,国外的搜索引擎开发者已经开始以社会网络工作为模型,对万维网进展模拟。专家们通过社会间人与人的关系网,设计研

14、发出了页面间的超关系网络。同时他们还惊奇的发现,相似度最高的在传统引文方面。这样通过对照就可以分析得出结论,从关系网络的角度入手,就能将互联网上大量的网页进展分类。早在2002年,欧美地区便出现了这种最原始的基于的搜索系统。第二种是基于内容分析的搜索。相对于基于分析的搜索方式,这是搜索技术的一个突破性进展,他们采取了一种新的思维方式,建立一个针对主题的词库。当用户在专业领域进展搜索时,可以将词库和爬虫结合起来进展检索。由于搜索角度的转变,这种新的技术逐渐开始被人们所关注。在上世纪九十年代,Fish Search System系统作为首个基于内容分析的搜索系统被开发出来。后来在1998年和199

15、9年相继出现了Shark Search System和聚焦爬虫Focused Crawler1。 时至今日,聚焦爬虫技术取得了长足的开展和进步,国外典型的系统包括CORA、IBM Focused Crawler等。CORA 是由美国卡内基梅隆大学的A.K.McCallum和M.Nigam等人于1999年针对计算机科学设计的一个主题型搜索引擎。CORA采用机械认知的方式,其主要针对的对象是与计算机主题相关联的内容,通过隐性马尔夫的原理对用户需要的内容进展分类。虽然CORA分析地址和主题的能力还很不足,同时也不具备对网页进展分析的能力,但是这仍然无法抹杀它在自动搜集资源方面取得的重大成就。 S.C

16、hakrabarti在本世纪初提出了IBM Focused Crawler,这是一种全新的爬行系统。从现在的技术来看,当时的IBM Focused Crawler采取了全新双模块系统,即分类器和选择器。分类器主要用于计算相关度,而选择器用来确定主要页面。S.Chakrabarti在随后的开发过程中对整个系统进展了进一步的完善,使得该系统在准确度和相关度方面有了大幅度的提升2。美国人Diligenti采取建立上下文图的方式设计出了聚焦爬虫,他们将其命名为Context Graphs Focused Crawler。这种通过学习网页引用关系的方法后来被证明效率并不高,但在当时也是重要的创新手段。系

17、统会利用反向服务找到指向该页面的网页,在这两层网页之间建立引用关系,由此建立聚焦爬虫的爬行路径。通过用户搜索参数的改变,每一个页面都会建立一个对应的引用关系,最后将他们进展合并。在这个过程中,分类器会确定他们的层级关系,确定之后,页面的便会参加队列,由此提取到所有需要进展抓取的网页3。对于基于内容分析的搜索,国人也做出了很大贡献。X福炎教授设计出了IDGSInternet Data Gather System系统,可以对万维网上的中英文内容进展搜索,大大的填补了中文方面的空白。IDGS 能够在万维网上对信息进展自动查询,采用向量空间模型技术对内容进展检索,同时利用权重评价技术来进展统计。在该系

18、统中由模式匹配模块计算相关度,采取漫游模型来进展后期的持续检索。该系统的最大优点是准确度高,其代价是牺牲了覆盖度,搜索的深度非常有限4。1.3 论文主要内容和章节安排 本文对于新闻爬虫系统的设计与实现过程作出了详细介绍,该系统的数据来源主要是网络网页新闻。本系统的运行流程大致如下:首先利用爬虫工具将新闻数据获取到本地数据库中,之后对其进展数据分析,最后将新闻内容信息以与分析结果在前台网页中进展可视化输出。第一章为绪论,主要说明了该课题的研究背景与其研究意义,简要说明了国内外对于爬虫系统的研究现状,并介绍了本论文的主要内容组成以与论文的组织结构。第二章为系统开发知识准备,简要介绍了进展本次新闻爬

19、虫系统开发所需要的相关理论和技术,主要包括爬虫技术的知识理论和J2EE技术、SQL Server 2005数据库管理系统以与ExtJS框架等相关知识,并对系统开发过程中用到的一些关键开源工具做出了简要说明。第三章对本系统进展了需求分析,首先从技术可行性、操作可行性和经济可行性三个方面对系统可行性进展了评估,随后对系统的用户对象和用户用况从管理员用户和普通用户两个角度进展了详细的分析,并分别总结出了相应的功能需求,最后对系统的性能需求进展了简要分析。第四章对本系统进展了总体设计,包括数据库结构的总体设计以与系统功能模块的总体设计,并对数据获取功能模块的子模块以与数据可视化功能模块的功能结构做出了

20、明确的划分,为系统详细设计与实现阶段的工作备好条件。第五章对本系统的详细设计和实现过程做出了说明,进展了功能模块的详细设计并完成了系统的开发实现工作,对于数据获取模块以与数据可视化模块进展了详细的设计实现和功能说明。第六章进展了系统测试和发布工作,首先从理论上对软件测试的目标和方法进展了简要介绍,之后设计了多个测试用例对系统的相关功能模块进展了详细的测试并对测试结果进展了分析,最后将本系统通过TOMCAT部署到了PC服务器上,完成了系统发布的过程。 第七章对于本次系统设计开发过程进展了归纳和总结,阐述了本次系统开发的意义并分析了下一步需要进展的工作,最后对网络舆情分析系统的开展方向进展了展望。

21、2 系统开发知识准备 本章简要介绍了进展本次新闻爬虫系统开发所需要的相关理论和技术,这些关键技术的学习和掌握为接下来的系统分析与设计实现提供了坚实的理论根底。2.1 网络爬虫的相关知识与理论 2.1.1 网络爬虫的定义 网络爬虫是一个自动提取网页的程序,它为搜索引擎从WEB上下载网页,是搜索引擎的重要组成局部。通用网络爬虫从一个或几个初始网页的URL开始,获得初始网页上的URL列表;在抓取网页的过程中不断从当前网页上抽取新的URL放入到待爬行队列,直到满足系统的停止条件。2.1.2 页面搜索策略介绍 网页的爬取策略可分为深度优先,广度优先和最优优先三种。深度优先在很多时候会导致爬虫的陷入问题,

22、目前常见的是广度优先和最优优先方法。 广度优先策略是指在爬取过程中,在完成当前层次的搜索后,才进展下一层次的搜索。在目前为覆盖尽可能多的网页,一般使用广度优先搜索算法。也有很多研究将广度优先算法应用于聚焦爬虫上。其根本思想是认为与初始URL在一定距离内的网页具有主题相关性的概率很大。最优优先策略是按照一定的网页分析算法,预测候选URL与目标网页的相似度,或与主题的相关性,并选评价最好的一个或几个URL进展抓取。它只访问经过网页任意算法预测为“有用的网页。存在的一个问题是,在爬虫抓取路径上的很多相关网页可能被忽略。因为最优优先策略是一种局部最优搜索算法。因此需要在应用中对最优优先策略进展改良,以

23、跳出局部最优点。2.2J2EE技术简介J2EE指的是Java2平台企业版Java 2 Platform,Enterprise Edition。J2EE的核心是一组技术规X与指南,其中所包含的各类组件、服务架构与技术层次,均有共同的标准与规格,让各种依循J2EE架构的不同平台之间存在良好的兼容性,一方面解决了过去企业后端使用的信息产品彼此之间无法兼容的问题,另一方面使得企业摆脱了内部和外部难以互通的窘境。J2EE组件和“标准的Java类的不同点在于:它被装配在一个J2EE应用中,具有固定的格式并遵守J2EE规X,由J2EE服务器对其进展管理。J2EE规X是这样定义J2EE组件的:客户端应用程序和

24、Applet是运行在客户端的组件;Java Servlet和Java Server Pages (JSP) 是运行在服务器端的Web组件;Enterprise Java Bean (E )是运行在服务器端的业务组件。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以与可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成的强有力支持,极大地提高了系统的运行效率和安全性。J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。事实上,SUN设计J2EE的

25、初衷正是为了解决两层模式Client/Server的弊端。传统的客户端往往承当了太多的功能,导致客户端比拟臃肿,升级很不方便。而J2EE中使用的多层软件模型将原来简单的模型切成几层解耦的独立功能层,每一层完成特定的任务,方便升级系统并更改应用的逻辑5。典型的J2EE应用体系结构如图2-1所示:图2-1 J2EE体系结构图总体来说,使用J2EE技术开发Web事务系统有以下优点:第一,开发高效,J2EE有完善的开源社区支持,像Spring,Struts这些框架可以大大缩短开发周期;第二,支持不同的操作系统环境,因为Java天生具有“一次编译,随处运行的特点,基于J2EE开发的应用程序不依赖特定的操

26、作系统、硬件等,也就具有了开发一次就可以在各个平台部署的特点;第三,稳定的高可用性,得益于从Java继承而来的跨平台特性,J2EE系统部署到可靠的操作环境中,一些对系统鲁棒性要求很高的大型商务系统可以选择比Windows更为健壮的Linux操作系统,这是更为理想的选择。2.3 SQL Server 2005简介Microsoft SQL Server 2005是一个全面的数据库平台,使用集成的商业智能工具提供了企业级的数据管理方式。Microsoft SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使得用户可以构建和管理用于业务的高可用和高性能的数据

27、应用程序。SQL Server是由Microsoft开发和推广的关系数据库管理系统DBMS),它最初是由Microsoft、Sybase、Ashton-Tate三家公司共同开发的,并于1988年推出了第一个在OS/2版本上运行的SQL Server系统。1992年Sybase和Microsoft这两家公司将SQL Server移植到了Windows NT操作系统上,后来Microsoft致力于Windows NT平台的SQL Server的开发,而Sybase如此专注于SQL Server在UNIX上的应用6。近年来在Microsoft SQL Server的开展历程中不断更新版本:1996年

28、发布的SQL Server6.5版本,该版本具备了市场所需的速度快、功能强、易使用和价格低等有点;1998年推出了SQL Server7.0版本,该版本再一次对核心数据库引擎进展了重大改写,在操作上更加简单、易用,因此获得了良好的声誉;2000年,发布了SQL Server 2000版本,该版本在可扩缩性和可靠性上有了很大的改良,成为企业级数据库市场中重要的一员;2005年,发布了SQL Server 2005版本,该版本扩展了SQL Server 2000的性能,如在可靠性、可用性、可编程性和易用性等方面做出了重大改良。SQL Server 2005引入了.NET Framework,允许构

29、建.NET SQL Server专有对象,从而使SQL Server数据库具有灵活的功能。SQL Server 2005的常见版本包括如下四种: 1个人版Personal Edition:用于单机系统或客户机;2)标准版Standard Edition:用于小型的工作组或部门; 3企业版Enterprise Edition:支持所有的SQL Server 2005特性,可作为大型Web站点、企业OLTP联机事务处理以与数据仓库系统等的产品数据库服务器;4开发者版Developer Edition:用于程序员开发应用程序,这些程序需要SQL Server 2005作为数据库存储设备7。2.4Ex

30、tJS简介 ExtJS是一个JavaScript库,功能强大,界面美观,可以使用AJAX, DHTML,DOM等技术来开发网络应用程序。ExtJS可以用来开发富互联网应用RIA:Rich Internet Applications,主要用于创建前端用户界面,是一个与后台技术无关的前端AJAX框架。因此,可以把ExtJS用在.NET、Java以与PHP等多种开发语言中。ExtJS最开始基于YUI技术,由开发人员Jack Slocum开发,通过参考Java SWING等机制来组织可视化组件,从UI界面上CSS样式的应用,到数据解析过程中的异常处理,都可算是一款不可多得的JavaScript客户端技

31、术的精品。ExtJS的组件结构如图2-3所示:图2-3 ExtJS组件结构图ExtJS初期仅是对! UI的对话框扩展,后来逐渐有了自己的特色,深受技术研发人员的喜爱。开展至今,ExtJS除YUI外还支持包括jQuery、Prototype等多种JS底层库,可以让开发人员自由进展选择8。该框架完全基于纯HTML/CSS+JS技术,提供丰富的跨浏览器UI组件,灵活采用JSON/XML数据源开发,使得服务端表示层的负荷真正得以减轻。2.5开源工具简介2.4.1 ClientClient是Apache Jakarta mon下的子项目,可以用来提供高效的、最新的、功能丰富的支持协议的客户端编程工具包。

32、 协议可能是现在Internet上使用得最多、最重要的协议了,越来越多的Java应用程序需要直接通过协议来访问网络资源。虽然在 JDK的包中已经提供了访问协议的根本功能,但是对于大局部应用程序来说,JDK库本身提供的功能还不够丰富和灵活。Client已经应用在很多大型的项目中,比如Apache Jakarta上很著名的另外两个开源项目Cactus和HTMLUnit都使用了Client。Client所提供的主要功能包括:1)实现了所有的方法GET,POST,PUT,HEAD 等;2)支持自动转向;3)支持 S 协议;4)支持代理服务器。2.4.2 HTMLParserHTMLParser是一个利用纯Java语言编写的进展HTML解析的库,它不依赖于其它的Java库文件,主要用于改造或提取HTML,其特点是能够超高速解析HTML文件,而且不会出错。作为目前最为方便易用的进展HTML解析和信息提取的工具,HTMLParser已经成为了抓取网页数据和改造HTML的内容的首选工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1