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

上传人:b****8 文档编号:23907122 上传时间:2023-05-22 格式:DOCX 页数:57 大小:1.54MB
下载 相关 举报
新闻爬虫系统的设计与实现毕业论文设计.docx_第1页
第1页 / 共57页
新闻爬虫系统的设计与实现毕业论文设计.docx_第2页
第2页 / 共57页
新闻爬虫系统的设计与实现毕业论文设计.docx_第3页
第3页 / 共57页
新闻爬虫系统的设计与实现毕业论文设计.docx_第4页
第4页 / 共57页
新闻爬虫系统的设计与实现毕业论文设计.docx_第5页
第5页 / 共57页
点击查看更多>>
下载资源
资源描述

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

《新闻爬虫系统的设计与实现毕业论文设计.docx》由会员分享,可在线阅读,更多相关《新闻爬虫系统的设计与实现毕业论文设计.docx(57页珍藏版)》请在冰豆网上搜索。

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

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

摘要

随着计算机网络在世界X围的飞速开展,互联网作为最具潜力与活力的媒体已经被公认是继报纸,广播,电视之后的“第四媒体〞,成为反映社会新闻热点的重要载体。

为了与时了解网络新闻热点,相关机构引入了新闻热点分析系统。

本文设计的新闻爬虫系统是新闻热点分析系统的数据源,负责新闻信息的采集。

本文借助于爬虫领域的相关技术与工具,结合新闻热点分析系统的需求从原理或工作流程上详细论述了爬虫系统中核心模块的具体实现。

本文所描述的新闻爬虫系统其数据来源主要是新浪新闻,首先利用爬虫工具将新闻数据获取到本地数据库中,然后将新闻信息以与新闻分析的结果将在前台网页中进展可视化输出。

本文主要进展了以下几个方面的工作:

1〕利用Java语言结合Client开源工具编写了一个针对新浪新闻的可扩展的网络爬虫,该爬虫程序能够按照广度优先的爬行策略对新闻数据〔包括图片信息〕进展全面的定向抓取以与周期性的增量抓取;

2〕采用HTMLParser对获取到的新闻信息进展元数据抽取,将新闻的编号、标题、内容、发布方、发布时间等元数据以与新闻图片等元数据解析出来并存入SQLServer数据库中;

3〕前端界面利用开源AJAX框架ExtJS结合Servlet进展实现,兼顾用户交互方式的多样性以与系统的跨浏览器兼容性。

通过使用该新闻爬取系统,用户能够实时的更新新闻信息,与时、全面、准确地掌握新闻热点动态,提高对于重大突发事件的处理能力,对于更与时,全面的了解各地的实时信息具有重要意义。

关键词:

新闻热点,网络爬虫,元数据抽取,可视化

ABSTRACT

WiththerapiddevelopmentofWorldWideWeb(),itiswidely

acceptedthattheinternet,calledtheFourthMedia,willbethemostpotential

andenergeticmediaafternewspaper,radioandtelevisionasanimportantcarrierofthehotsocietynews.Inordertoknowtheinternethotnewsintime,therelatedorganizationsintroducedthehotnewsandanalysissystem.Thenewsspidersystemisintheinformationcollectionlayerandisthefundamentalpartofhotnewsanalysissystem.Itisresponsiblefortheinformationcollection.

Inthehelpofrelatedtechnologiesandtoolsandwiththeneedsofthesystemitself,thepaperdiscusstheconcreterealizationofthecodemoduleindetail.

Thedataofthenewsspidersystemesfromnewsofsina.Firstusingwebcrawlertogetdatafromnewstolocaldatabase,finallyvisualizethepublicopinioninformationonthefrontpage.Thisarticlemainlyhascarriedonthefollowingseveralaspectswork:

1)UsingJavaandClientdevelopedascalablewebcrawlerwhichfocusonDISCUZBBS.Besides,thiscrawlercanconductaprehensiveorientationoffetchingandperiodicincrementoffetchingfromBBSdata(includingtheBBSpostinformationandallitsreplies)underbreadth-firststrategy.

2〕UsingHTMLParsertoextractmeta-datafromtheBBSinformation,parsedandstoredthemeta-data,suchasnumber,title,content,poster,postingtimeandthecorrespondingreplyinaSQLServerdatabase.

3〕front-endinterfacebinedwiththeuseofopensourceAJAXframeworkExtJSServletbeachieved,takingintoaccountthediversityofuserinteractionandsystemcross-browserpatibility.

Byusingthisnewscrawlingsystem,userscanreal-timenewsandinformationupdated,timely,prehensiveandaccurategraspofhotnewsdevelopments,improvethehandlingcapacityofmajoremergencies,formoretimelyandprehensiveunderstandingofanimportantreal-timeinformationacrosssignificance.

KeyWords:

Hotnews,Webcrawler,Metadataextraction,Visualization

1绪论

本章主要说明了该课题的研究背景与其研究意义,简要说明了国内外对于爬虫系统的研究现状,并介绍了本论文的主要内容组成以与论文的组织结构。

1.1开发背景与目的

随着互联网技术的开展与应用的普与,网络作为信息的载体,已经成为社会大众参与社会生活的一种重要信息渠道。

由于互联网是开放的,每个人都可以在网络上发表信息,内容涉与各个方面。

小到心情日志,大到国家大事。

互联网已成为思想文化信息的集散地,并具有传统媒体无法相比的优势:

便捷性,虚拟性,互动性,多元性。

网络新闻热点通常形成迅速,多是人们对于日常生活中的各种问题发表的各种意见,评论,态度,情绪等,随着事件的开展而变化,是反映社会热点的重要载体之一。

网络爬虫是一种按照一定上网规如此,自动的抓取万维网信息的程序或脚本。

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

搜素引擎不断开展,人们的需求也不断提高,网络信息搜索已经成为人们每天都有进展的内容。

如何使搜索引擎能够时刻满足人们的需求?

最初的检索功能通过索引站的方式实现,从而有了网络机器人。

本课题来源于新闻爬虫系统项目的建设,旨在为相关机构提供与时的网络信息服务。

这些服务与现有的搜索引擎提供的服务不同,其重要特征主要表现在:

与时性,专用性,人性化。

1、与时性

新闻爬虫系统通过爬虫技术自动爬取新闻信息,定期对相应类型的新闻的地址进展扫描,如假如该新闻并未被爬取过如此对其进展自动爬取。

让系统的工作人员可以静观事态的开展。

2、专用性

新闻爬虫系统的专用性表现在数据采集,数据分析,数据展现等几个环节上。

在数据采集方面系统采用手动爬取与增量爬取相结合的方式。

有针对性的采集需要的几个类别的新闻信息,并对信息进展抽取,去噪,结构化处理,为后续专用分析创造条件。

在数据分析与数据展示方面,系统通过对得到的信息进展深入的分析,将分析结果进展多维度的展现。

3、人性化

新闻爬虫系统的人性化主要表现在数据结果的展示上。

用户可以随时查看任意一个时间的新闻分析结果,而且该系统由于是基于多线程的程序完成任务的效率高。

所以不管实在界面上还是在效率上都非常的人性化。

新闻爬虫系统项目建设意义重大。

一方面,新闻爬虫系统提供了大量的分析素材,方便全面的了解大众网络新闻的热点。

另一方面,原来的新闻信息收集工作主要依靠人工完成,工作量巨大,覆盖面小,不仅费时费力而且还不免出现人为疏漏的情况,这种局面亟待通过技术手段提高工作效率。

本文完成的是新闻爬虫系统的设计与实现,该爬虫系统为新闻分析系统提供数据源,完成新闻信息的搜集。

因此可以说爬虫系统是整个分析系统的根底,并且爬虫系统输出结果的好坏直接影响着系统结果的展现。

1.2国内外相关研究现状

1.2.1网络爬虫

从搜索对象上来分类,主流的的爬虫技术包括以下两种:

第一种是基于分析的搜索。

上世纪九十年代,国外的搜索引擎开发者已经开始以社会网络工作为模型,对万维网进展模拟。

专家们通过社会间人与人的关系网,设计研发出了页面间的超关系网络。

同时他们还惊奇的发现,相似度最高的在传统引文方面。

这样通过对照就可以分析得出结论,从关系网络的角度入手,就能将互联网上大量的网页进展分类。

早在2002年,欧美地区便出现了这种最原始的基于的搜索系统。

第二种是基于内容分析的搜索。

相对于基于分析的搜索方式,这是搜索技术的一个突破性进展,他们采取了一种新的思维方式,建立一个针对主题的词库。

当用户在专业领域进展搜索时,可以将词库和爬虫结合起来进展检索。

由于搜索角度的转变,这种新的技术逐渐开始被人们所关注。

在上世纪九十年代,FishSearchSystem系统作为首个基于内容分析的搜索系统被开发出来。

后来在1998年和1999年相继出现了SharkSearchSystem和聚焦爬虫〔FocusedCrawler〕[1]。

时至今日,聚焦爬虫技术取得了长足的开展和进步,国外典型的系统包括CORA、IBMFocusedCrawler等。

CORA是由美国卡内基梅隆大学的A.K.McCallum和M.Nigam等人于1999年针对计算机科学设计的一个主题型搜索引擎。

CORA采用机械认知的方式,其主要针对的对象是与计算机主题相关联的内容,通过隐性马尔夫的原理对用户需要的内容进展分类。

虽然CORA分析地址和主题的能力还很不足,同时也不具备对网页进展分析的能力,但是这仍然无法抹杀它在自动搜集资源方面取得的重大成就。

S.Chakrabarti在本世纪初提出了IBMFocusedCrawler,这是一种全新的爬行系统。

从现在的技术来看,当时的IBMFocusedCrawler采取了全新双模块系统,即分类器和选择器。

分类器主要用于计算相关度,而选择器用来确定主要页面。

S.Chakrabarti在随后的开发过程中对整个系统进展了进一步的完善,使得该系统在准确度和相关度方面有了大幅度的提升[2]。

美国人Diligenti采取建立上下文图的方式设计出了聚焦爬虫,他们将其命名为ContextGraphsFocusedCrawler。

这种通过学习网页引用关系的方法后来被证明效率并不高,但在当时也是重要的创新手段。

系统会利用反向服务找到指向该页面的网页,在这两层网页之间建立引用关系,由此建立聚焦爬虫的爬行路径。

通过用户搜索参数的改变,每一个页面都会建立一个对应的引用关系,最后将他们进展合并。

在这个过程中,分类器会确定他们的层级关系,确定之后,页面的便会参加队列,由此提取到所有需要进展抓取的网页[3]。

对于基于内容分析的搜索,国人也做出了很大贡献。

X福炎教授设计出了IDGS〔InternetDataGatherSystem〕系统,可以对万维网上的中英文内容进展搜索,大大的填补了中文方面的空白。

IDGS能够在万维网上对信息进展自动查询,采用向量空间模型技术对内容进展检索,同时利用权重评价技术来进展统计。

在该系统中由模式匹配模块计算相关度,采取漫游模型来进展后期的持续检索。

该系统的最大优点是准确度高,其代价是牺牲了覆盖度,搜索的深度非常有限[4]。

1.3论文主要内容和章节安排

本文对于新闻爬虫系统的设计与实现过程作出了详细介绍,该系统的数据来源主要是网络网页新闻。

本系统的运行流程大致如下:

首先利用爬虫工具将新闻数据获取到本地数据库中,之后对其进展数据分析,最后将新闻内容信息以与分析结果在前台网页中进展可视化输出。

第一章为绪论,主要说明了该课题的研究背景与其研究意义,简要说明了国内外对于爬虫系统的研究现状,并介绍了本论文的主要内容组成以与论文的组织结构。

第二章为系统开发知识准备,简要介绍了进展本次新闻爬虫系统开发所需要的相关理论和技术,主要包括爬虫技术的知识理论和J2EE技术、SQLServer2005数据库管理系统以与ExtJS框架等相关知识,并对系统开发过程中用到的一些关键开源工具做出了简要说明。

第三章对本系统进展了需求分析,首先从技术可行性、操作可行性和经济可行性三个方面对系统可行性进展了评估,随后对系统的用户对象和用户用况从管理员用户和普通用户两个角度进展了详细的分析,并分别总结出了相应的功能需求,最后对系统的性能需求进展了简要分析。

第四章对本系统进展了总体设计,包括数据库结构的总体设计以与系统功能模块的总体设计,并对数据获取功能模块的子模块以与数据可视化功能模块的功能结构做出了明确的划分,为系统详细设计与实现阶段的工作备好条件。

第五章对本系统的详细设计和实现过程做出了说明,进展了功能模块的详细设计并完成了系统的开发实现工作,对于数据获取模块以与数据可视化模块进展了详细的设计实现和功能说明。

第六章进展了系统测试和发布工作,首先从理论上对软件测试的目标和方法进展了简要介绍,之后设计了多个测试用例对系统的相关功能模块进展了详细的测试并对测试结果进展了分析,最后将本系统通过TOMCAT部署到了PC服务器上,完成了系统发布的过程。

第七章对于本次系统设计开发过程进展了归纳和总结,阐述了本次系统开发的意义并分析了下一步需要进展的工作,最后对网络舆情分析系统的开展方向进展了展望。

2系统开发知识准备

本章简要介绍了进展本次新闻爬虫系统开发所需要的相关理论和技术,这些关键技术的学习和掌握为接下来的系统分析与设计实现提供了坚实的理论根底。

2.1网络爬虫的相关知识与理论

2.1.1网络爬虫的定义

网络爬虫是一个自动提取网页的程序,它为搜索引擎从WEB上下载网页,是搜索引擎的重要组成局部。

通用网络爬虫从一个或几个初始网页的URL开始,获得初始网页上的URL列表;在抓取网页的过程中不断从当前网页上抽取新的URL放入到待爬行队列,直到满足系统的停止条件。

2.1.2页面搜索策略介绍

网页的爬取策略可分为深度优先,广度优先和最优优先三种。

深度优先在很多时候会导致爬虫的陷入问题,目前常见的是广度优先和最优优先方法。

广度优先策略是指在爬取过程中,在完成当前层次的搜索后,才进展下一层次的搜索。

在目前为覆盖尽可能多的网页,一般使用广度优先搜索算法。

也有很多研究将广度优先算法应用于聚焦爬虫上。

其根本思想是认为与初始URL在一定距离内的网页具有主题相关性的概率很大。

最优优先策略是按照一定的网页分析算法,预测候选URL与目标网页的相似度,或与主题的相关性,并选评价最好的一个或几个URL进展抓取。

它只访问经过网页任意算法预测为“有用〞的网页。

存在的一个问题是,在爬虫抓取路径上的很多相关网页可能被忽略。

因为最优优先策略是一种局部最优搜索算法。

因此需要在应用中对最优优先策略进展改良,以跳出局部最优点。

2.2J2EE技术简介

J2EE指的是Java2平台企业版〔Java2Platform,EnterpriseEdition〕。

J2EE的核心是一组技术规X与指南,其中所包含的各类组件、服务架构与技术层次,均有共同的标准与规格,让各种依循J2EE架构的不同平台之间存在良好的兼容性,一方面解决了过去企业后端使用的信息产品彼此之间无法兼容的问题,另一方面使得企业摆脱了内部和外部难以互通的窘境。

J2EE组件和“标准的〞Java类的不同点在于:

它被装配在一个J2EE应用中,具有固定的格式并遵守J2EE规X,由J2EE服务器对其进展管理。

J2EE规X是这样定义J2EE组件的:

客户端应用程序和Applet是运行在客户端的组件;JavaServlet和JavaServerPages(JSP)是运行在服务器端的Web组件;EnterpriseJavaBean(E)是运行在服务器端的业务组件。

J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以与可扩展性的应用的需求。

通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成的强有力支持,极大地提高了系统的运行效率和安全性。

J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。

事实上,SUN设计J2EE的初衷正是为了解决两层模式〔Client/Server〕的弊端。

传统的客户端往往承当了太多的功能,导致客户端比拟臃肿,升级很不方便。

而J2EE中使用的多层软件模型将原来简单的模型切成几层解耦的独立功能层,每一层完成特定的任务,方便升级系统并更改应用的逻辑[5]。

典型的J2EE应用体系结构如图2-1所示:

图2-1J2EE体系结构图

总体来说,使用J2EE技术开发Web事务系统有以下优点:

第一,开发高效,J2EE有完善的开源社区支持,像Spring,Struts这些框架可以大大缩短开发周期;第二,支持不同的操作系统环境,因为Java天生具有“一次编译,随处运行〞的特点,基于J2EE开发的应用程序不依赖特定的操作系统、硬件等,也就具有了开发一次就可以在各个平台部署的特点;第三,稳定的高可用性,得益于从Java继承而来的跨平台特性,J2EE系统部署到可靠的操作环境中,一些对系统鲁棒性要求很高的大型商务系统可以选择比Windows更为健壮的Linux操作系统,这是更为理想的选择。

2.3SQLServer2005简介

MicrosoftSQLServer2005是一个全面的数据库平台,使用集成的商业智能工具提供了企业级的数据管理方式。

MicrosoftSQLServer2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使得用户可以构建和管理用于业务的高可用和高性能的数据应用程序。

SQLServer是由Microsoft开发和推广的关系数据库管理系统〔DBMS),它最初是由Microsoft、Sybase、Ashton-Tate三家公司共同开发的,并于1988年推出了第一个在OS/2版本上运行的SQLServer系统。

1992年Sybase和Microsoft这两家公司将SQLServer移植到了WindowsNT操作系统上,后来Microsoft致力于WindowsNT平台的SQLServer的开发,而Sybase如此专注于SQLServer在UNIX上的应用[6]。

近年来在MicrosoftSQLServer的开展历程中不断更新版本:

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

SQLServer2005引入了.NETFramework,允许构建.NETSQLServer专有对象,从而使SQLServer数据库具有灵活的功能。

SQLServer2005的常见版本包括如下四种:

1〕个人版〔PersonalEdition〕:

用于单机系统或客户机;

2)标准版〔StandardEdition〕:

用于小型的工作组或部门;

3〕企业版〔EnterpriseEdition〕:

支持所有的SQLServer2005特性,可作为大型Web站点、企业OLTP〔联机事务处理〕以与数据仓库系统等的产品数据库服务器;

4〕开发者版〔DeveloperEdition〕:

用于程序员开发应用程序,这些程序需要SQLServer2005作为数据库存储设备[7]。

2.4ExtJS简介

ExtJS是一个JavaScript库,功能强大,界面美观,可以使用AJAX,DHTML,DOM等技术来开发网络应用程序。

ExtJS可以用来开发富互联网应用〔RIA:

RichInternetApplications〕,主要用于创建前端用户界面,是一个与后台技术无关的前端AJAX框架。

因此,可以把ExtJS用在.NET、Java以与PHP等多种开发语言中。

ExtJS最开始基于YUI技术,由开发人员JackSlocum开发,通过参考JavaSWING等机制来组织可视化组件,从UI界面上CSS样式的应用,到数据解析过程中的异常处理,都可算是一款不可多得的JavaScript客户端技术的精品。

ExtJS的组件结构如图2-3所示:

图2-3ExtJS组件结构图

ExtJS初期仅是对!

UI的对话框扩展,后来逐渐有了自己的特色,深受技术研发人员的喜爱。

开展至今,ExtJS除YUI外还支持包括jQuery、Prototype等多种JS底层库,可以让开发人员自由进展选择[8]。

该框架完全基于纯HTML/CSS+JS技术,提供丰富的跨浏览器UI组件,灵活采用JSON/XML数据源开发,使得服务端表示层的负荷真正得以减轻。

2.5开源工具简介

2.4.1Client

Client是ApacheJakartamon下的子项目,可以用来提供高效的、最新的、功能丰富的支持协议的客户端编程工具包。

协议可能是现在Internet上使用得最多、最重要的协议了,越来越多的Java应用程序需要直接通过协议来访问网络资源。

虽然在JDK的包中已经提供了访问协议的根本功能,但是对于大局部应用程序来说,JDK库本身提供的功能还不够丰富和灵活。

Client已经应用在很多大型的项目中,比如ApacheJakarta上很著名的另外两个开源项目Cactus和HTMLUnit都使用了Client。

Client所提供的主要功能包括:

1)实现了所有的方法〔GET,POST,PUT,HEAD等〕;

2)支持自动转向;

3)支持S协议;

4)支持代理服务器。

2.4.2HTMLParser

HTMLParser是一个利用纯Java语言编写的进展HTML解析的库,它不依赖于其它的Java库文件,主要用于改造或提取HTML,其特点是能够超高速解析HTML文件,而且不会出错。

作为目前最为方便易用的进展HTML解析和信息提取的工具,HTMLParser已经成为了抓取网页数据和改造HTML的内容的首选工

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

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

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