爬虫系统项目建设意义重大。一方面,新闻爬虫系统提供了大量的分析素材,方便全面的了解大众网络新闻的热点。另一方面,原来的新闻信息收集工作主要依靠人工完成,工作量巨大,覆盖面小,不仅费时费力而且还不免出现人为疏漏的情况,这种局面亟待通过技术手段提高工作效率。
本文完成的是新闻爬虫系统,该爬虫系统为新闻分析系统提供数据源,完成新闻信息的搜集。因此可以说爬虫系统是整个分析系统的基础,并且爬虫系统输出结果的好坏直接影响着系统结果的展现。
1.2 国内外相关研究现状
1.2.1 网络爬虫
从搜索对象上来分类,主流的的爬虫技术包括以下两种:
第一种是基于链接分析的搜索。上世纪九十年代,国外的搜索引擎开发者已经开始以社会网络工作为模型,对万维网进行模拟。专家们通过社会间人与人的关系网,设计研发出了页面间的超链接关系网络。同时他们还惊奇的发现,相似度最高的在传统引文方面。这样通过对照就可以分析得出结论,从关系网络的角度入手,就能将互联网上大量的网页进行分类。早在2002年,欧美地区便出现了这种最原始的基于链接的搜索系统。
第二种是基于内容分析的搜索。相对于基于链接分析的搜索方式,这是搜索技术的一个突破性进展,他们采取了一种新的思维方式,建立一个针对主题的词库。当用户在专业领域进行搜索时,可以将词库和爬虫结合起来进行检索。由于搜索角度的转变,这种新的技术逐渐开始被人们所关注。在上世纪九十年代,Fish Search System系统作为首个基于内容分析的搜索系统被开发出来。后来在1998年和1999年相继出现了Shark Search System和聚焦爬虫(Focused Crawler)[1]。
时至今日,聚焦爬虫技术取得了长足的发展和进步,国外典型的系统包括CORA、IBM Focused Crawler等。CORA 是由美国卡内基梅隆的A.K.McCallum和M.Nigam等人于1999年针对计算机科学设计的一个主题型搜索引擎。CORA采用机械认知的方式,其主要针对的对象是与计算机主题相关联的内容,通过隐性马尔夫的原理对用户需要的内容进行分类。虽然CORA分析地址和主题的能力还很不足,同时也不具备对网页进行分析的能力,但是这仍然无法抹杀它在自动搜集资源方面取得的重大成就。
S.Chakrabarti在本世纪初提出了IBM Focused Crawler,这是一种全新的爬行系统。从现在的技术来看,当时的IBM Focused Crawler采取了全新双模块系统,即分类器和选择器。分类器主要用于计算相关度,而选择器用来确定主要页面。S.Chakrabarti在随后的开发过程中对整个系统进行了进一步的完善,使得该系统在准确度和相关度方面有了大幅度的提升[2]。
美国人Diligenti采取建立上下文图的方式设计出了聚焦爬虫,他们将其命名为Context Graphs Focused Crawler。这种通过学习网页引用关系的方法后来被证明效率并不高,但在当时也是重要的创新手段。系统会利用反向链接服务找到指向该页面的网页,在这两层网页之间建立引用关系,由此建立聚焦爬虫的爬行路径。通过用户搜索参数的改变,每一个页面都会建立一个对应的引用关系,最后将他们进行合并。在这个过程中,分类器会确定他们的层级关系,确定之后,页面的链接便会加入队列,由此提取到所有需要进行抓取的网页[3]。
对于基于内容分析的搜索,国人也做出了很大(网学)贡献。张福炎教授设计出了IDGS(Internet Data Gather System)系统,可以对万维网上的中英文内容进行搜索,大大的填补了中文方面的空白。IDGS 能够在万维网上对信息进行自动查询,采用向量空间模型技术对内容进行检索,同时利用权重评价技术来进行统计。在该系统中由模式匹配模块计算相关度,采取漫游模型来进行后期的持续检索。该系统的最大优点是准确度高,其代价是牺牲了覆盖度,搜索的深度非常有限[4]。
1.3 论文主要内容和章节安排
本文对于新闻爬虫系统过程作出了详细介绍,该系统的数据来源主要是网络网页新闻。本系统的运行流程大致如下:首先利用爬虫工具将新闻数据获取到本地数据库中,之后对其进行数据分析,最后将新闻内容信息以及分析结果在前台网页中进行可视化输出。
第一章 为绪论,主要阐明了该课题的研究背景及其研究意义,简要说明了国内外对于爬虫系统的研究现状,并介绍了本论文的主要内容组成以及论文的组织结构。
第二章 为系统开发知识准备,简要介绍了进行本次新闻爬虫系统开发所需要的相关理论和技术,主要包括爬虫技术的知识理论和J2EE技术、SQL Server 2005数据库管理系统以及ExtJS框架等相关知识,并对系统开发过程中用到的一些关键开源工具做出了简要说明。
第三章 对本系统进行了需求分析,首先从技术可行性、操作可行性和经济可行性三个方面对系统可行性进行了评估,随后对系统的用户对象和用户用况从管理员用户和普通用户两个角度进行了详细的分析,并分别总结出了相应的功能需求,最后对系统的性能需求进行了简要分析。
第四章 对本系统进行了总体设计,包括数据库结构的总体设计以及系统功能模块的总体设计,并对数据获取功能模块的子模块以及数据可视化功能模块的功能结构做出了明确的划分,为系统详细设计与实现阶段的工作备好条件。
第五章 对本系统的详细过程做出了说明,进行了功能模块的详细设计并完成了系统的开发实现工作,对于数据获取模块以及数据可视化模块进行了详细的设计实现和功能说明。
第六章 进行了系统测试和发布工作,首先从理论上对软件测试的目标和方法进行了简要介绍,之后设计了多个测试用例对系统的相关功能模块进行了详细的测试并对测试结果进行了分析,最后将本系统通过TOMCAT部署到了PC服务器上,完成了系统发布的过程。
第七章 对于本次系统设计开发过程进行了归纳和总结,阐述了本次系统开发的意义并分析了下一步需要进行的工作,最后对网络舆情分析系统的发展方向进行了展望。
2 系统开发知识准备
本章简要介绍了进行本次新闻爬虫系统开发所需要的相关理论和技术,这些关键技术的学习和掌握为接下来的系统分析及设计实现提供了坚实的理论基础。
2.1 网络爬虫的相关知识与理论
2.1.1 网络爬虫的定义
网络爬虫是一个自动提取网页的程序,它为搜索引擎从WEB上下载网页,是搜索引擎的重要组成部分。通用网络爬虫从一个或几个初始网页的URL开始,获得初始网页上的URL列表;在抓取网页的过程中不断从当前网页上抽取新的URL放入到待爬行队列,直到满足系统的停止条件。
2.1.2 页面搜索策略介绍
网页的爬取策略可分为深度优先,广度优先和最佳优先三种。深度优先在很多时候会导致爬虫的陷入问题,目前常见的是广度优先和最佳优先方法。
广度优先策略是指在爬取过程中,在完成当前层次的搜索后,才进行下一层次的搜索。在目前为覆盖尽可能多的网页,一般使用广度优先搜索算法。也有很多研究将广度优先算法应用于聚焦爬虫上。其基本思想是认为与初始URL在一定链接距离内的网页具有主题相关性的概率很大。
最佳优先策略是按照一定的网页分析算法,预测候选URL与目标网页的相似度,或与主题的相关性,并选评价最好的一个或几个URL进行抓取。
它只访问经过网页任意算法预测为"有用"的网页。存在的一个问题是,在爬虫抓取路径上的很多相关网页可能被忽略。因为最佳优先策略是一种局部最优搜索算法。因此需要在应用中对最佳优先策略进行改进,以跳出局部最优点。
2.2 J2EE技术简介
J2EE指的是Java2平台
上一篇:
数据库大作业_-教务管理系统—华中科技大学
下一篇:
高校学生二手物品交易系统设计与实现