毕业设计(论文)新闻自动提取系统.doc

上传人:laozhun 文档编号:3982850 上传时间:2023-03-30 格式:DOC 页数:35 大小:222KB
返回 下载 相关 举报
毕业设计(论文)新闻自动提取系统.doc_第1页
第1页 / 共35页
毕业设计(论文)新闻自动提取系统.doc_第2页
第2页 / 共35页
毕业设计(论文)新闻自动提取系统.doc_第3页
第3页 / 共35页
毕业设计(论文)新闻自动提取系统.doc_第4页
第4页 / 共35页
毕业设计(论文)新闻自动提取系统.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《毕业设计(论文)新闻自动提取系统.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)新闻自动提取系统.doc(35页珍藏版)》请在三一办公上搜索。

1、摘 要新闻自动提取系统是伴随Internet的发展而出现的,它实现了既让用户享受到Internet的新闻服务,又提高了企业或公司的网络安全性和资源利用效率的双重功能。系统用Delphi自动地从Internet上将网上新闻用二级文本分析技术提取出来并存储进数据库,然后再用ASP.net通过访问SQL Server数据库将新闻发布,供局域网内的用户浏览和查询。系统具有自动性、经济安全、易改变性和开发工具新的特点。新闻的提取、数据库更新及网页内容的更新全部是自动实现的,不需要人工干预,这就大大节省了人力资源;系统只有一台主机与Internet相连,提高了安全性,也节约了费用;系统采用模块式编程方法,

2、当某部分改动时只需改写少量代码就能保证系统重新正确运行;系统用下一代Windows系统工具ASP.net开发,所以有很强的沿用性。关键词:新闻提取;NGWS;Internet;N级网页ABSTRACTThe automatic news extract system is born with the development of internet. It implements two functions at the same time, one is to let users share internet news service, the other is to improve the e

3、nterprise or companys network security and resource efficiency.The system uses two-level text analysis to extract news from internet then store them to database automatically, after that use ASP.net as developing tools to access the database and distribute the news to local area network for users to

4、 explore and query information that they need.The features of news extract system are automatism, security and price, flexibility, new developing tool. The main feature of the system is news extract, database access and web refresh are automatic implemented, its no need to intervene by man, so much

5、more labor is saved;In the whole system there is only one mainframe is connected to internet, the security is improved, the expense is less as well;The system takes module programming coded method, when some part needs to be changed, rewrite several lines of code can make the system function correct

6、ly as before;The last part of the system is developed by ASP.net , which is called NGWS(next generation windows system),so it can be used for a long time.Keyword: News Extract;Next Generation Windows System;Internet;N-level web目 录第1章 新闻自动提取系统概述11.1系统功能和组成11.2系统的特点及技术创新2第2章 开发工具介绍32.1 DELPHI6.0简介32.2

7、 SQL SERVER简介52.3 新一代网页开发工具ASP.NET8第3章 需求分析123.1构建新闻自动提取系统的必要性和功能123.2新闻自动提取的可行性12第4章 系统总体设计14第5章 详细设计175.1技术难点与解决方案175.2 DELPHI新闻提取185.3 DELPHI数据库访问部分25第6章 系统测试29结束语30参考文献31致 谢32第1章 新闻自动提取系统概述1.1系统功能和组成1.1.1系统简介新闻自动提取是指一台计算机作为主机将Internet上的新闻自动提取到本机,然后以网页的形式发布出去,供局域网内的其它用户访问浏览。而新闻自动提取系统就是运行在主机上完成上述功

8、能的一套软件。1.1.2系统功能(1) 本系统可提供多个网站的新闻,用户能选择自己喜爱的网站;(2) 系统已将新闻分成教育、体育、财经、娱乐等多类,用户可依兴趣选择类别,系统还提供了简单的模糊查询的功能;(3) 本系统的新闻随着internet上网站的更新而变化,也可将新闻存储起来,形成一个可查询的信息库;(4) 本系统可扩展为图片、MP3、MTV等自动提取系统。1.1.3系统组成系统前端开发工具为Delphi和ASP.net,后台数据库为SQL Server,因此,系统也由三大部分组成:SQL Server部分,Delphi部分,ASP.net部分。(1) SQL Server部分这部分要创

9、建数据库、数据表、表结构及对数据库的安全性和数据进行管理,也包括建立用户登录、数据冗余等控制。(2) Delphi部分这部分用Delphi定时访问Internet的各大网站,将其上的新闻提取出来,并依靠Delphi的数据库访问机制按新闻类别存入相应的数据表,这部分还有对数据库进行清空、查看等功能。(3) ASP.net部分这部分主要将数据库中的新闻发布出来,并实现按关键字对新闻内容的简单查询,实际还实现了添加、删除、排序等功能。1.2系统的特点及技术创新1.2.1系统特点(1) 整个系统完全是自动执行的,包括新闻提取、数据库更新、网页内容的更新,这就使网络管理员从繁重的人工下载中解脱出来;(2

10、) 系统具有良好的扩展性,它可扩展为图片、MP3、MTV等许多自动提取系统;(3) 在数据库设计时和数据插入时考虑到了数据冗余的控制。(4) 由于系统用到的主要编程工具是Delphi和ASP.net,所以系统有很好的网络性能。1.2.2系统创新(1) 整个新闻提取过程完全靠程序实现,而且库中的内容随各大网站新闻内容的变化而自动刷新,刷新的间隔在最初设定,不需要人工干预,这是系统最突出的特点;(2) 在用Delphi提取新闻内容时,从理论上不但可以提取出各大类主页中所有二级新闻的内容,而且经改进后可获取多级新闻内容,这是在理论上的重大突破;(3) 提取经济、娱乐、体育等类新闻的标题可直接从二级页

11、的网页标题提取,大大化简了对标题的提取,也更直观;(4) 系统对每类新闻都有一个备份表用于存储所有提取过的新闻,这样用户不但可以选择看最近的新闻,也可看历史上的新闻;(5) 系统提供了让用户根据自己的兴趣按关键字选择想要的新闻,即模糊搜索功能。第2章 开发工具介绍2.1 Delphi6.0简介2.1.1 Delphi的基本功能简介Delphi是当前最强大,最灵活的基于Windows的可视化应用程序开发工具。它将可视化技术与Object Pascal语言完美结合,具有良好的数据库访问能力,是一个非常强大的应用程序开发组件的集合,被喻为“第四代编程语言”。Delphi 6.0是Borland公司继

12、Delphi 5.0后的又一力作。Delphi的功能十分强大,这里只分类介绍如下:(1) 灵活的VCL(Visual Component Libarary)组件1VCL是Delphi最重要的组成部分。在设计时添/删除组件、自定义组件、使用面向对象技术继承其它组件的行为,这些能力都是决定Delphi效率的关键因素。在许多场合,编写VCL组件都采用固定的面向对象的程序设计方法。(2) 强大的数据库功能Delphi具有所有工具中最灵活的数据库结构,对大多数基于数据库平台的应用程序来说,BDE(Borland Database Engineer)的功能已足够强大,程序设计人员无需直接同数据库文件打交道

13、,就可以操作和处理各个数据库文件。(3) 完善的网络编程功能 作为一种流行的编程语言,优良的网络性能是十分重要的。Delphi提供了很多与网络的接口,使用起来非常方便,而且Delphi程序可在Windows和Unix操作系统下运行,无需改变代码,所以说Delphi有强大的网络功能是当之无愧的。2.1.2 Delphi 6.0的新特性2(1) Delphi 6.0通过完全基于SOAP的网络服务和XML数据交换支持,从根本上简化了在互联网上构筑下一代电子商务的程序。XML及网络服务技术和Delphi 6.0的无缝融合为工业标准化的网络服务和互联网上B2B、B2C和P2P的集成带来了唯一的快速开发工

14、具。(2) WebSnap使得Delphi能够直接融入当今的网站开发团队。通过WebSnap,Delphi程序能够无缝地集成到网站和使用现今流行的HTML开发环境(如Dreamweaver、FrontPage、VBScript和JavaScript)的网站开发团队中。(3) 编写单一源代码的Windows/Linux程序。Delphi 6.0和Kylix兼容,使用交叉平台的CLX控件库和可视化设计器编写的高性能、可移动式的Windows程序能在Linux上用Borland Kylix轻松编译。(4) 支持最新的Windows 2000/Me和Office 2000图形用户接口。通过Action

15、Bands、ActionManagers和Shell Controls可以轻松制作最流行的、符合微软UI最新趋势的动态用户界面。通过让最终用户完全自定义他们自己的UI使用来排除复杂的用户界面。2.1.3 Delphi的IDE环境当我们打开Delphi 6.0的时候,首先进入的就是它的集成开发环境(Integrated Development Environment,IDE),我们编写、运行和调试程序就是在这个环境中完成的。在Delphi 6.0中,集成开发环境由碟码编辑器、调试器、工具栏、图像编辑器和数据库工具组成,所有这些以集成的方式进行操作。(1) 主菜单主菜单是位于屏幕最顶端的主控窗口的

16、菜单栏,通过它几乎可以访问所有的Delphi的提供工具。(2) 工具条工具条提供了一组快捷的按钮来让用户能迅速访问到Delphi 6.0中常用功能。(3) 控件模板位于主控窗口工具条右边的就是控件模板,通常我们也将它们称为Delphi的组件。Delphi 6.0将很多功能相近的控件放在同一个控件组中。按一般情况来说,只需要双击一个控件就可以把它放到应用程序的窗体中去。使用Delphi进行编程大部分情况就是使用各种控件,只要掌握了基本控件的使用方法,你就可以很方便地编制出一般的应用程序了。(4) 窗体设计器当你第一次运行Delphi 6.0的时候,在整个界面的中间可以看到一个标题用程序的外观进行

17、设置,它是整个Delphi应用程序设计的基础。在Delphi 6.0的窗体设计器是所见即所得的,你可以在窗体上任意放置自己所需要的可视或者是不可视控件。(5) 代码编辑器位于窗体设计器的下方的那一块编辑区域称为代码编辑器。在Delphi 6.0中,代码编辑器由两部分组成,左侧是一个代码分析器,它可以让你很方便地找到应用程序中的类、各种定义的方法和变量等。右侧则是用户输入代码的地方,我们从代码编辑器窗体上的标签可以看到,现在打开的文件是Unit1Pas文件,每一个编辑的文件都可以打开在一个标签页中,你可以通过点击标签的方法方便地在工程的各个文件之间进行切换。代码编辑器是程序员编程的一个环境,几乎

18、所有的代码都在这个地方进行输入、运行和调试。Delphi 6.0提供的代码编辑器除了具有一般文字编辑器的功能外,还有很多体贴的设计。例如当你在输入代码时,Delphi会自动分析你的代码,以各种不同的颜色和状态来区别不同的代码、函数和关键字。例如,在默认的设置中,关键字是黑体的,数字是蓝色的,而注释的段落则是斜体的,这样能方便程序员整理和组织自己的代码。另外值得一提的是,在Delphi中,代码编辑器有一种很神奇的功能,称为Code Insight,当输入Delphi所能识别的对象名称并打上一个“”的时候,Delphi会自动分析这个对象所具有的属性和方法,把它直接放在“”后面的下拉列表中去,这样你

19、可以直接在下拉列表框中选择所需要的东西就行了。同时,当你在写程序需要调用一个过程或方法的时候,只要输入了该方法的名称,然后加一个“(”,Delphi就可以智能地将所需要的参数依次列出;在应用程序调试的时候,如果将光标放在某个变量或表达式上停留一段时间,Delphi就会自动列出表达式的值。(6) 对象观察器在Delphi 6.0整个界面的最右边,有一个称为“Object Inspector”的窗体,它就是对象观察器了。一个对象观察器由两个标签页组成:Properties(属性)和Event(事件),当我们在窗体设计器中选中一个控件,它所对应的属性和事件就会列在这个对象观察器中。以上介绍了Delp

20、hi的IDE编程环境,如果要了解其性能,还需动手实际编写程序。2.2 SQL Server简介2.2.1 SQL Server的文件系统和特点 Microsoft公司的SQL Server是一个完全的数据库管理系统。SQL Server是一种使用传统的Transact-SQL语言,基于客户机服务器,并且在两者间传送请求和答复的关系型数据库管理系统。SQL Server使用客户机服务器体系结构将所有的工作分解为客户机任务和服务器任务,由两者分别完成。在SQL Server 2000中,数据库文件可以分为三种类型:主文件、辅助文件、日志文件,扩展名分别为:.mdf,.ndf,.ldf。每个数据库中

21、都有一个主文件,主文件是一个数据库的起点。辅助文件的个数没有限制,可以有一个或者多个辅助文件,也可以没有辅助文件。这主要是看数据库本身的大小和复杂情况。数据库的事务日志文件记录了数据库中所进行的一切改变。它在恢复数据库时非常重要,它保存了所有当系统出错时恢复数据库时所需要的信息。缺省情况下,事务日志记录的尺寸为数据文件的1/4,每一个数据库必须有一个日志,而且,事务日志必须与数据存在不同的文件中。在SQL Server2000中,使用文件组来管理具有相似特征的一组文件。一个主文件或者辅助文件只能属于一个文件组,日志文件是独立的,不属于任何文件组。而一个文件组也只属于一个数据库。在SQL Ser

22、ver 2000中,对数据库的一切操作,都可以通过两种方式进行:一种是通过图形化的工具:Enterprise Manager,另一种是通过使用Transact-SQL语言,直接进行对数据库的操作。前一种方式,比较直观,操作简单。后一种方式,比较复杂,需要对Transact-SQL语言语法特别熟悉。SQL Server2000是Microsoft公司于2000年8月推出的最新数据库引擎,商务数据仓库的数据库解决方案,它具有以下几个特点:(1) 熟悉的界面作为大型电子SQL Server 2000与SQL Server 7.0就界面而言并没有太大差别,相信许多曾经使用过SQL Server7.0的

23、读者见到2000时会有一种十分熟悉的感觉,这方便了用户从7.0版本到2000的升级:(2) 更加强大的数据引擎SQLServer2000拥有增强的数据引擎,高级的管理方式,这样就大大降低了检索的开销。此外SQL Server 2000支持XML,HTTP,并与Web相结合,使其功能更加强大。(3) 与Windows 2000更好的结合(4) MS SQL Server 2000相对其他数据库产品,更好地利用了Win2000的优势。此外SQL Server 2000还支持高达32个CPU,64GB。2.2.2 数据库管理系统的基本概念(1) 数据库的安全性在计算机系统中,安全措施一般是分级设置的

24、,在数据库系统中,对数据的存取权限一般支持自主存取控制和强制存取控制两种机制,以对数据提供保护。在自主存取控制中,用户对不同的数据对象有不同的存取权限,不同的用户对同一对象也有不同的权限,用户还可将自己的权限转授给其他用户。而强制存取控制中,每一个数据对象被标以一定的密级,每个用户也被授予某密级的许可证,因此只有数据对象的密级和许可证上标明的密级相匹配时用户才能存取数据对象。通过为不同的用户定义不同的数据视图,就可以向不同的用户展示不同的数据,这样实现了一定程度的数据隐藏,因而能对数据提供保护。此外,可以利用数据库系统提供的审计功能将所有用户对数据的操作自动记录下来,存入电子记录簿,必要时可用

25、它跟踪某些用户对数据库的操作。最后常用的安全措施还有数据加密技术,即将数据通过一定方式变换成密文保存在数据库中,必要时再变换成原始数据。若非法用户不知道解密的方法,即使读取了数据也不明白其含义。(2) 数据的完整性数据库的完整性指数据的正确性和兼容性。数据库管理系统一般提供下面三种手段支持数据的完整性。定义功能 向用户提供定义完整性约束条件的机制。检查功能 检查用户的操作是否违背了完整性约束条件。错误处理功能 在检查到用户的操作违背了完整性约束条件后,就采取相应的应对措施。(3) 数据库恢复虽然数据库系统是非常可靠的,但是有时也会遭到各种破坏活动,包括自然的和人为的原因。例如自然灾害、硬件故障

26、、软件故障和人为破坏等。如何将数据库恢复到一个已知的正确状态就是数据库的恢复。数据库的恢复经常涉及到下面两个问题。如何建立数据备份如何利用所建立的数据备份恢复数据库建立数据备份常用的技术是数据转储和覆盖文件,一般同时使用这两种方法。数据转储就是管理人员定期地将数据备份到磁带或磁盘上以建立数据备份的过程。利用数据备份可将数据库恢复到建立备份时的状态。若要将数据库恢复到当前状态,就需要将备份后所有更新数据库的事务运行一遍,因此需要用日志记录运行过的事务。(4) 并发控制在数据库系统中,通常有很多事务同时运行,同时对数据进行存取和更新,如不加以控制,就会产生下面导致数据一致性错误的三个问题。丢失修改

27、 事务A 和 事务B同时操作同一数据库并修改,A 先将结果写入,接着B也将结果写入,这样事务A 对数据所作的修改就会丢失。不能重读 事务A先对数据库作了修改,而事务B接着对数据库作了更新或修改,或删除或增加某一纪录,这样当事务A第二次读的时候,发现和第一次读的结果不同。脏读 事务A 修改了某一数据,并将其写回磁盘,事务B读了该数据并使用了该数据,结果因某种原因被取消,它所修改的数据回到了以前的状态,那么事务B所读得数据就是不正确的,也称为读脏数据。解决这三个问题的主要方法之加锁。锁有两种类型,即排他锁和共享锁。如事务A对数据对象加上了排他锁,则该数据对象将由它独占地使用,不能被其他事务读取、修

28、改和加锁,直到事务A释放自己加的排他锁。若某事务A对数据对象加上了共享锁,则它只能读这个数据对象而不能修改它,其他事务也可以在该数据对象上加共享锁,而不能加排他锁。在对数据对象加锁时,需要遵循一定的规则,这些规则称为加锁协议,常用的是三级封锁协议,现介绍如下。一级封锁协议 事务在修改数据之前必须先对其加排他锁,事务结束时释放所加的锁,若需要读操作,则不用加锁。这样就解决了修改丢失问题,但是解决不了不能重读和脏读。二级封锁协议 在一级封锁协议的基础上,加上事务在读取数据之前必须先对其加共享锁,读完后可释放共享锁。二级封锁协议可以解决读脏数据的问题,但不能解决不能重读问题。可以形象地说明为:事务A

29、在对某数据对象修改之前,对其加上排他锁,事务B要读取该数据对象,需要给其加共享锁,但因为有事务A所加的排他锁,这样B只能等待事务A由于某种原因被撤消,释放了所加的排他锁,而且数据对象也恢复到原来状态。事务B对数据对象加上了共享锁,读得正确的数值。三级封锁协议 在二级封锁协议的基础上,加上事务在读取数据之前必须先对其加共享锁,直到事务结束才释放共享锁。可以形象地说明如下:事务A在对某数据对象读取之前,对其加上共享锁,事务B想要修改该数据对象,需要给其加排他锁,但因为有事务A所加的共享锁,这样B只能等待,不能加上排他锁。事务A再读一次数据对象,所得的当然是正确的结果事务A完成,释放所加的共享锁,这

30、时事务B才获得使用数据对象的机会。2.3 新一代网页开发工具ASP.net2.3.1 ASP.net概述ASP.net是 Microsoft公司动态服务页面(Active Server Page)的最新版本,它是该公司提供的基于服务器的强大的技术,用于为万维网站点或企业的内部网创建动态的、交互式的HTML页面。ASP.net作为ASP与.NET相结合的产物,是以前各版本ASP的一大飞跃。ASP.net作为新一代的网络开发工具,不仅与ASP以前的版本相兼容,而且增加了许多新的功能。总结起来有以下几个方面:3(1) 多语言支持。ASP.net支持四种编程语言,用户可根据自己特长和实际需要进行选择,

31、甚至可以用这些语言的组合来编程。(2) 兼容性。ASP.net和ASP完全兼容,对于以前的ASP文件,仍可在IIS环境下运行。ASP.net文件以新的扩展名出现。即.ASPX,可以清楚的区分新老文件。(3) 分离程序代码和网页内容。在ASP中网页显示的HTML标记和程序代码混在一起,给人以杂乱无章的感觉。在ASP.net中引入了全新的HTML编程模式,包括全新的服务器端控件,表单的事件驱动、数据绑定等,将程序代码与接口清楚地分开。2.3.2 ASP.net详析ASP.net在开发效率、性能、可靠性和部署上的结合都是前所未有的,下面详细介绍。4(1) 开发效率ASP.net帮你在极短的时间内开发

32、出真正的大量的网页应用程序。简便的编程模型ASP.net显著简化了构建真正的大规模的网页应用程序。ASP.net服务管理使与HTML类型相似的编程变得比经典ASP编程所用的代码大大减少。显示数据,用户输入的有效性验证和上传文件都惊人的容易。最重要的是,ASP.net网页可在所有的浏览器中运行包括Netscape, Opera, AOL, and Internet Explorer。灵活的语言选择ASP.net使你最大效率的发挥你当前编程语言的技巧。不像经典的ASP,仅支持解释后的VBScript 和 JavaScript, ASP.NET支持的.NET语言超过25种(包括支持VB.NET, C

33、#和 JScript.NET的混合而不需要其它的工具)。在语言的选择上,ASP.NET为您提供了空前的灵活性。强大的工具支持您可以用任何一种文本编辑器展示ASP.NET的强大功能,即使是记事本也行但Visual Studio.NET提高了网页的基本可视化类型的开发效率。现在你可你所熟悉的拖放双击技术可视化的设计网页窗体,并享受完全快速的编码。丰富的类框架结构应用程序的特色通常很难实现,或需要第三方控件,但现在只用几行代码引用.NET Framework就能实现。.NET Framework提供了超过4500个类,封装了丰富的功能,像XML, data access, file upload,

34、regular expressions, image generation, performance monitoring and logging, transactions, message queuing, SMTP mail等等。(2) 改进的性能和可测量性ASP.NET让您能用相同的硬件为更多的用户服务。编译执行ASP.NET比经典ASP更快,而不是ASP的单步保存模型。然而,ASP.NET编译时没有明确的编译单步。ASP.NET将自动检查任何变化,动态编译需要文件,并存储将要用到的结果。这样便使执行的速度加快,大部分经典ASP移植到ASP.NET上速度提高3-5倍。高速输出缓存ASP

35、.NET输出缓存可显著改善程序的性能和可测量性。当输出缓存在一个页中可用时,ASP.NET只执行这个页一次,并把结果存储在内存的同时发送给用户。当另一个用户需要同样的网页时,ASP.NET服务器经缓存将内存中结果取来而不重新执行网页输出缓存是可配置的,可用于缓存个别区或整个页,由于避免了每个请求都访问数据库,输出缓存大大改善了数据驱动页的性能。(3) 增强的可靠性ASP.NET确保你的应用程序对用户总是可用的。磁盘漏洞、死锁和冲突保护ASP.NET自动检测错误并从磁盘漏洞或死锁中恢复出来,使应用程序对用户都是可用的。假设你的应用程序中有一个小的磁盘漏洞,并且一周后这个漏洞成为你虚拟内存的很重要

36、的一部分,ASP.NET会检查到这种情况,自动启动另一个备份的ASP.NET工作进程 ,并把所有的新请求定向到新进程。一旦老进程完成了所有的悬挂请求的处理,它就被释放掉,同时内存漏洞也被释放掉。整个过程是自动地,不需要管理员的干预和任何服务的中断,但ASP.NET已从错误中恢复出来。(4) 布局的简单性5ASP.NET把你从布局服务器程序的痛苦中解脱出来。“非接触”应用程序布局ASP.NET显著简化了应用程序的安装,用ASP.NET,你可像开发HTML页一样对整个程序布局:只需把程序拷贝到服务器,不需要运行regsvr32注册任何组件,并且环境配置存储在应用程序的一个XML文件中。动态更新正在

37、运行的程序ASP.NET可以在不重新启动网页服务器的情况下更新编译的组件,过去经典COM组件,开发者每次更新布局都必须重新启动网页服务器,用ASP.NET,你只简单把组件从已存在的DLL(动态链接库)中拷贝过来ASP.NET将自动检测变化并开始使用新的代码。方便的路径移植为了开始使用ASP.NET你不需要移植已经存在的程序,ASP.NET运行在IIS上与经典ASP并置在Windows 2000和Windows XP平台上,已经存在的ASP程序可由ASP.DLL继续处理,而新的ASP.NET页由新的ASP.NET引擎处理。你可以移动整个应用程序,也可移动单个页,ASP.NET甚至允许你继续用已经

38、存在的COM商业组件类。(5) 新的应用程序模型。XML网页服务XML网页服务允许应用程序通过Internet交换和共享数据,而无需考虑操作系统和编程语言,ASP.NET使XML网页服务更加简单明了。任何类一调用SOAP Client用几行代码就能将其转化为XML网页服务。同时,ASP.NET使你的应用程序很容易调用XML网页服务,不需要任何网络,XML或SOAP知识。数据库访问ASP.NET提供了ADO和OLE两种技术,其访问数据库的方式已经接近一般的面向对象编程语言,使用起来非常容易,而且其功能也相当完备。第3章 需求分析3.1构建新闻自动提取系统的必要性和功能随着计算机网络技术的成熟和计

39、算机价格的变化,一场信息领域的划时代革命Internet出现了。现在Internet提供的服务应有尽有,新闻、影视、图形、图像,不胜枚举。但出于网络安全和实际情况的考虑,一个公司或企业的内部仍有很多人不能直接登录到Internet,但又应该让他们享受Internet的服务。这样网络服务的自动提取系统就应运而生了,新闻自动提取系统不过是小试牛刀而已。系统需完成的功能:(1) Internet上将各大商业网络服务网站上的新闻标题和新闻内容完全由程序自动提取出来,不需要人工干预;(2) 将新闻分类后放入数据库中;(3) 以网页的形式将新闻发布出来,供局域网中的用户浏览,并可实现简单的按关键字查询的功

40、能;(4) 应该对提取的新闻在一段时间内刷新,同时更新数据。3.2新闻自动提取的可行性在介绍可行性之前,先介绍几个概念: 一级网页:也叫大类首页,是从网站的首页中各类直接链接到的网页,教育类首页地址为:,经济类首页地址为:.多级网页:从一级网页直接链接到的网页为二级网页,依次可定义三级网页、四级网页。大于等于三级的网页,称为多级网页。二级新闻:如果新闻的内容能从二级网页上找到,这样的新闻称为二级新闻。新闻的类标志串:它用来标志新闻的类别,也是能判断网页是否是二级网页的一个字符串。教育类新闻的标志串是:()在本系统中只提取二级新闻,所用技术为二级网页提取技术。(1) 通过对五类上百个新闻网页进行

41、统计表明:搜狐上新闻内容网页的布局格式同类的极其相近,而各类间区别也不大。(2) 对一级网页的分析表明,该页中的新闻都是通过超链接链接到对应二类新闻页的。而超联接的提取可通过反复截取的方法获得。(3) 每类新闻在其新闻网页(二级网页)中都含有相应的标志(一般在新闻标题前,也是新闻开始的标志),而且二级网页中新闻内容的开始和结束也有标志,教育类的开始标志为,结束标志为 (有时P是大写的)。新闻提取的基本思想和过程是:先定位到各类新闻的主页,再获得其对应的文本串,取出其中的超链接,再把超链接中的地址取出来,如果该地址对应网页含有类新闻标志,则提取新闻内容和标题。新闻内容和标题的提取方法:新闻内容和

42、标题在二级网页对应的文本中都有相应的起始标志,可从开始截取到结尾的部分即得之。由于Delphi中提供了对字符串的操作函数,所以整个新闻提取的过程从技术上是完全可行的。整个提取在Timer控件中完成,就实现了自动提取的功能。利用ASP.net的ADO数据库访问技术,就可将数据库中的新闻发布出来。系统的数据流图如图3.1所示.SQL Server新闻库Internet网页分类后的新闻文本文件数据库文件新闻网页1.1Delphi网 络接 口1.2文 本分 析模 块1.3ASP.net模块用户D1Internet 图3.1新闻自动提取系统数据流图第4章 系统总体设计从功能和所用的开发工具可将整个系统分

43、为三个部分:SQL Server部分、Delphi部分 、ASP.net部分。而Delphi部分又可以分成网络访问及新闻提取、数据库管理两个子模块。(1) SQL Server部分这部分主要包括数据库设计:由于各类新闻除了类别外,主要由新闻标题和新闻内容组成,故各类新闻均采用下表结构进行数据存储。整个建库、建表通过企业管理器完成,同时对数据库建立登录,然后再ODBC(Open DataBase Connection)中为数据库建立别名,以便在程序中访问。数据库中存储新闻表的结构如表4-1所示.表4-1 数据库中表的结构字段名No(编号)Title(标题)Content(内容)Station(网

44、站)类型DecimalVarchar(100)Varchar(8000)Char(50)(2) Delphi部分Delphi中网络访问及新闻提取子模块 网络访问部分:通过对控件栏中Fastnet页中的NMHTTP控件编程,用字符串变量返回网页对应的文本串。新闻提取部分这部分需要对网页进行全面细致的分析,准确提取出网页中的超链接,然后从超链接串中提取出地址,在判断该页是否是二级网页,是则提取新闻标题和内容,否则进入下一次提取,直到文本中无超链接为止。Delphi中数据库管理子模块 建立数据库别名,并对ODBC进行配置,以便在Delphi和ASP.net中访问数据库;检查记录是否存在,如果不存在则

45、插入之,否则放弃操作;能对表进行清空操作,以便刷新数据库中的数据;能对表中记录进行修改和删除;在刷新数据库时,将数据库中的数据无冗余存储于信息库中。(3) ASP.net部分该程序作为服务器端程序,将数据库中的数据以网页的形式发布出来,共用户对各类信息浏览;用户可根据自己的兴趣爱好,动态的选择想要浏览的新闻,也就是简单的搜索引擎功能;方便的网页链接,用户在浏览一类新闻时可直接链接到其它类新闻。这部分由登录、主页和五个链接页组成,五个链接页与主页之间均由超链接联系。五个链接页的组成大体相同,每个页均能实现添加,删除,排序,查询的功能,而新闻内容的显示用DataGrid控件绑定数据库实现。A的总体

46、布局如图4.1所示.图4.1网页基本布局系统的功能模块图如图4.2所示.系统实现流程为:先建立数据库,再通过Delphi访问Internet提取新闻,存储于数据库,再由ASP.net将数据库中信息发布出来。基于Internet的新闻自动提取系统Delphi的Internet访问及新闻提取模块SQL Server数据库管 理系 统Delphi 数据库管 理模 块ASP.net数据库访 问模 块网页获取文本分析新闻提取建数据库建数据表表清空删除数据新闻浏览新闻搜索图4.2新闻自动提取系统模块图插入数据第5章 详细设计5.1技术难点与解决方案如前所述,整个系统由SQL Server部分、Delphi部分 、ASP.net部分组成,在各部分中遇到的技术问题及实现方案将分述之。由于各大网站的网页组织结构相近,故以提取搜狐上的新闻为例阐明。5.1.1 SQL Server中的技术问题及实现方案(1) 表结构的选取构建表的结构有两种方法:一表法和多表法。这两种方法均能满足系统对数据库的操作要求,但结构略有差异:一表结构:所有类新闻放在一个表中。字段设置:类别,类内标号,新闻标题,新闻内容,来源网站。多表结构:每类新闻用一个表存储。本系统有以下五类:教育类,体育类,经济类,娱乐类,出国类。每类的字

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号