数据采集系统设计
前面几章讲述了ASP的开发技术,大家应该对ASP技术有了深入的了解。本章将在第5章的实验室新闻系统的基础上,学习设计一个文章采集系统。文章采集系统,顾名思义,就是采集文章内容的系统。
学习本章之前,必须对Application对象有充分的了解,如果还不熟悉Application对象,可以复习一下第2章的内容。另外,本实例将介绍一个新的组件——XMLHTTP组件。
本章重点:
l Application对象的使用方法。
l XMLHTTP组件的使用方法。
l 通过本实例的学习还可以设计音乐、影视、软件等采集系统。
6.1 系 统 概 述
6.1.1 系统功能与背景
互联网以前所未有的速度发展,成为与报纸、广播、电视相比肩的第四媒体。互联网已经悄悄进入人们的生活。眼下个人网站正如雨后春笋般涌现,但是作为个人网站没有丰富的内容,就没有大的访问量。那么一个新建立的网站,怎么才能使内容丰富呢?简单、快捷的内容采集系统便应运而生。
内容采集系统利用强大的XMLHTTP组件将庞大的互联网信息有效地采集到本地数据库,使其成为网站的内容。本章通过一个简单的实例讲述内容采集系统的设计与实现。
本例的内容采集系统主要完成如下功能。
1.栏目的管理
l 一级栏目的增加。
l 一级栏目的修改。
l 一级栏目的删除。
l 二级栏目的增加。
l 二级栏目的修改。
l 二级栏目的删除。
2.项目的管理
l 项目的增加。
l 项目的修改。
l 项目的删除。
3.历史记录管理
l 历史记录的删除。
l 历史记录的分类显示。
4.数据采集
l 数据采集主程序。
6.1.2 系统预览
图6-1是栏目的管理界面。从图中可以看出一级栏目的详细资料,包括栏目的编号、栏目的名称、栏目的描述,以及对某个栏目的操作。单击某个栏目的名字,可以进入该栏目的二级项目管理页面。

图6-1 一级栏目管理界面
图6-2是栏目的添加界面。从图中可以看出,进入栏目添加界面后可以添加一级栏目相关信息。
图6-2 一级栏目添加界面
图6-3是栏目的修改界面。从图中可以看出,进入栏目修改界面后可以修改一级栏目的相关信息。
图6-3 一级栏目修改界面
二级项目操作界面和一级栏目操作界面是一样的。
图6-4是采集项目的管理界面。从图中可以看出项目的详细信息,以及对某个项目的各种操作,包括增加、修改、删除等。

图6-4 采集项目管理的界面
图6-5是采集项目添加界面。这是项目添加的第一步——基本设置。在上面的管理导航菜单中显示了添加项目的6个步骤。

图6-5 采集项目添加界面
图6-6是修改项目的界面。从图中可以看出,修改项目的界面和添加项目的界面基本是一样的。

图6-6 修改项目界面
图6-7是历史记录管理界面。通过该模块可以方便地查看成功记录及失败记录。

图6-7 历史记录管理界面
图6-8是项目采集数据初始化界面。系统在该页面进行数据初始化,然后自动转到数据采集页面。

图6-8 项目采集数据初始化界面
图6-9是项目采集界面。

图6-9 项目采集界面
6.1.3 系统特点
本实例具有以下主要特点。
l 函数模块化:本实例在函数的设计上采用了模块化的思想。把系统中公用的功能都设计成一个模块。例如,显示分页的函数(ShowPage)、获取网页源代码函数(GetHttpPage),这些都被包含在inc/function.asp中,在开发时候只要通过<%#include file="inc/function.asp"%>就可以调用了,不需要重复编写这些函数,从而提高开发效率。
l 人性化设计:本实例的导航菜单简单明了,不管用户在程序的什么页面,都可以顺利地返回或者跳转到其他页面。
l 按照软件工程的流程讲述程序设计,在设计中学习软件工程。
[NextPage]
6.2 系 统 设 计
6.2.1 系统功能模块划分
本系统是一个简单的文章采集系统,通过6.1.1节的系统功能需求分析,可以将系统细分为几个模块:栏目管理模块、项目管理模块、历史记录模块和数据采集模块4个模块。
1.栏目管理模块
录入栏目的名称、描述等信息。录入第一条记录后,系统会自动进入栏目管理主界面,以便查看录入的信息是否正确。同时可以从栏目管理界面直接进入修改或删除栏目界面,整个操作简单方便,避免了许多错误的发生。
图6-10展示了栏目系统功能模块图。
图6-10 栏目系统功能模块图
2.项目管理模块
项目管理模块和栏目管理模块一样也包括录入、修改和删除3个功能。
录入项目功能共分6步完成,包括基本设置、列表设置、链接设置、标题/内容设置、采样测试和属性设置。
基本设置包括项目的名称、所属栏目、采集网站地址。
列表设置包括设置截取列表的开始代码和结束代码,以及列表的处理类型。
链接设置包括设置截取列表的开始代码和结束代码。
标题/内容设置包括设置截取标题的开始代码和结束代码,以及截取内容的开始代码和结束代码。
采样测试是检验前面的设置是否正确。如果正确,就会显示正确的标题内容和正文内容。否则需要返回重新设置。
属性设置是设置项目的其他信息。
编辑项目功能和录入项目功能一样,也分6步。
3.历史记录模块
历史记录模块包括查看全部历史记录、成功历史记录和失败历史记录,以及删除历史记录等功能。
4.数据采集模块
数据采集模块是本系统的核心模块,通过该模块可以完成采集功能。
6.2.2 系统结构设计
根据6.2.1节的系统设计,可以得到如图6-11所示的系统结构设计图。
图6-11 系统结构设计图
这就是本系统提供的所有功能。当然,一个功能完善的采集系统还包括很多功能,例如,过滤设置、数据库导入/导出等。本示例系统提供的是一个模板,在此基础上,可以很方便地扩充其他功能
[NextPage]
6.3 数据库设计
数据库在动态程序中有着非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。
设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的及将来可能增加的需求。
6.3.1 数据库逻辑设计
前面已经详细地分析了该系统所要完成的功能,因此在前面的功能清单的基础上可以很轻松地设计出本示例所需要的数据库系统。
本系统的数据结构比较简单,从分析功能清单可以知道,需要存储的是栏目信息、项目信息、历史记录信息、采集的文章信息。
栏目信息需要保存栏目ID、栏目名称和栏目描述。
项目信息需要保存项目ID、项目名称、一级栏目ID、二级栏目ID、网站名称、网站网址、列表索引页面、截取列表开始标记、截取列表结束标记、截取链接开始标记、截取链接结束标记、截取标题开始标记、截取标题结束标记、截取正文开始标记、截取正文结束标记及采集时间。如果采集类型为批量采集,还需要列表分页类型、列表分页批量类型列表索引页面、索引范围开始及索引范围结束。最后还需要一些文章的属性内容。本系统只使用编辑和内容评分。
历史记录需要保存历史ID、项目ID、一级栏目ID、二级栏目ID、文章ID、文章标题、采集时间、采集文章的源地址及是否成功标记。
文章信息需要保存文章ID、一级栏目ID、二级栏目ID、文章标题、文章内容及采集时间等基本内容。如果需要保存其他信息,还需要设计其他字段。本系统增加了编辑和文章评分两个字段。
在上面的数据库逻辑设计中列出了各个表的字段,各表的主键信息通过各表中的字段就可以看出,例如文章ID在文章信息、历史记录中都有出现,应设为文章信息的主键。
6.3.2 数据库设计
由于本系统所需的数据结构比较简单,而且数据量也不大,因此采用Access数据库作为数据库设计工具。本章将具体介绍各字段、数据类型等内容。
根据上面的数据库逻辑设计,需要设计4张数据表。由于栏目信息包括一级栏目信息和二级栏目信息,因此需要两张表来存储栏目信息,这样,本系统设计了5张数据表。
Channel表保存一级栏目信息,Class表保存二级栏目信息,Project表保存项目信息,History表保存历史记录信息,Info表保存文章信息。
- 上一篇:2.7 注册域名与发布网站
- 下一篇:8.10 图片浏览和编辑


RSS订阅