随着信息技术对高校教育发展的变革,数字化资源建设在高校学习资源建设,构建学习型组织中扮演着重要角色。数字资源建设是满足现代化教学所需的一项重要教学基础资源,是学校、教师和学生进行学习,交流,分享,创新的重要原动力。各高校都把数字化资源建设当作重点工作开展。然而不少高校面临着数字资源建设经费不足,除了购置外部资源外,同时也要内部开发一些数字资源。对于数字资源的建设,各高校的数字资源建设有共性需求,也有个性的需求,并非外部采购能够解决。在这样的前提下,笔者尝试运用Visual FoxPro(以下简称VFP)技术构建可采集网页数据的系统,用以采集无版权问题的在线学习资源,将不同来源的学习资源汇聚于同一数据库,来构建主题数字资源库。
1、高校数字化资源采集需要VFP技术
1.1 满足基础服务需求的角度选型
从提供基础服务角度看,选用何种技术进行开发首先是从需求出发,是否能满足实际工作需要,系统是否能运行稳定、高效。而不仅仅是追求先进性。并非最先进的就是最能满足需要的。笔者进行的数据采集只是数字资源建设前期的数据整理阶段的阶段性的工具,在时间节点范围能能够满足高校对数据的抓取工作。因此,在需求明确导向前提下,用最经济的手段来实现基础服务的稳定和高效运行是最合理的。VFP兼有开发工具和数据库两方面特征,能够做到与 *** 作与数据的无缝衔接,在前期的数据采集与整理上完全能够满足用户需求。
1.2 存量用户与技术衍生性
VFP数据库在过去十年中在高校的普及应用率较高,不少教学服务部门的管理系统都是基于VFP开发的,如不少高校的教务系统,学工系统都是基于VFP开发等。因此,高校中的VFP存量用户较多,在新系统建设中,首先要考虑的系统对接的兼容性,后续增加的系统最好能和之前的系统能够无缝对接。而且,由于VFP的简单易学,在系统使用和维护中,不少老师也逐渐摸索、学习,逐渐掌握了 VFP的基础开发技能。因此,VFP来开发数据采集系统是一个可以被应用环境接受和用户认可的工具。
1.3 VFP自身的技术优势
VFP是开发工具同时其本身也是数据库。VFP数据库发展到现在已经相当成熟,VFP系统小巧,相比Oracle等数据库,其不会占用太多的存储空间。相比其他数据库,VFP的应用程序开发的效率较高,相比一些开发语言,VFP本身强大的查询功能。所以VFP是集开发和数据库的综合体,简单易学, *** 作灵活。同时,VFP互 *** 作性和对网络支持性较强。
2、网页数据采集系统设计
2.1 VFP技术介绍
VFP是Microsoft公司推出的数据库开发软件,提供多种可视化编程工具,最突出的是面向对象编程。支持结构化查询语言(SQL)命令和函数。由于其函数丰富、灵活方便、问世较早,在国内一段时期广为流行。目前最新的版本是9.0。时至今日,由于其稳定高效、易学易用,仍有大批高校将其作为小型数据库使用,不少网络教学管理系统前台软件也选用VFP开发。
2.2 系统设计目标
我们将VFP开发的网页数据采集系统应用于学校数字化资源建设子项目——开源版权的学习视频内容的采集,具体来说,是针对国外多所名校提供的开源版权视频源网址进行分析和数据爬取,最终将开源版权的文字和视频数据提取、索引并保存入学校的资源库。
2.3 系统功能结构
VFP开发的网页数据采集系统采用了模块化的设计,它由一些核部件和插件模块构成。核心部件可以配置,系统部件由管理控制台、抓取顺序控制器、中央控制器、流控制处理器、多线程控制组成。管理控制台允许 *** 作者进行参数设置和任务管理。抓取顺序控制器控制爬取活动的排序和相关属性。抓取任务通过排序后将任务信息传递给中央控制器进行初始化。中央控制器吞吐队列的URL信息和完成的URL 信息,并将任务指令传递给采集工作的'核心工作区——流控制处理器。核流控制处理器的任务处理是呈流式运作的,包括预读、提取和写入三个部分。流控制处理器的工作是多线程了,保证了整个采集的高效率。
在采集的核心工作区——在流控制处理器中,工作的流程是这样的:首先在接到中心控制器传送来的队列URL后,开始预读,预读主要是做一些预处理工作,对处理进行延迟和重新处理。接着,进行提取工作,提取主要是获得http资源,进行ip转换,发出http头请求和接收响应,进而抽取目标HTML的标签。最后进行写入,写入的工作是存储爬取日志,返回爬取到的内容和抽取特性,过滤并作写存储的动作。这一流程完成后,流控制处理器会提交完成的URL给中央控制器,做最后的维护。
3、系统实现
3.1 程序运行的硬件环境
*** 作系统为Microsoft Windows XP或更高,内存为1G或更高,硬盘占用约230MB,数据爬取采用4MB ADSL宽带。
3.2 核心程序节录
3.3 实验结论
我们将VFP开发的网页数据采集系统应用于学校数字化资源建设子项目——开源版权的学习视频内容的采集,针对国外多所名校提供的开源版权视频源网址进行分析和数据爬取,并测试VFP开发的网页数据采集系统的性能,为后续的改进提供测试。我们确立四个指标,从数据采集的正确率、召回率、覆盖率和程序效率四个方面进行测试。正确率是指VFP开发的网页数据采集系统能否正确的提取URL,正确率越高,爬取的效果越好召回率是指程序爬虫探测到的数据与能够爬取回来的数据的比值,召回率越高,爬虫的效果越好。覆盖率是指对指定网站采集的覆盖率,覆盖率要全程序的效率是说VFP开发的网页数据采集系统采集的速度和稳定性。经过全天24小时无故障,不间断的运行,累计采集网页数据300多万页。数据采集的正确率、召回率、覆盖率和程序效率均得到理想的效果。
4、结束语
本文阐述了一个基于VFP技术的网页数据采集爬虫的一种工作流程和爬行算法,从链接和网页内容的分析和提取进行爬行控制,给出了具体实施的核心程序,测试结果比较满意。基于VFP技术的网页数据采集系统本身虽然属于轻量级,但针对高校数字化资源建设的需求现状,本文提出解决方案经过证明,能够高效的完成网页数据采集,是一种经济、实用、稳定和高效的网页数据采集方案。其对高校的数字化资源建设起重要作用。但是本系统的性能仍需提高,尤其在URL的优先权选择上需要进一步改进。
PUBL a,b &&公有变量a ba=1
b=2
DO sub1 WITH a,b &&调用过程sub1,参数a, b为传递引用
?a,b && 回到这里来输出2 20
RETURN
procedure sub1
PARA A1,B1 &&这两个参数用实参a,b来调用时,就分别是其别名
B1=10*B1 &&实际是b被赋值2*10为20
A1=A1+1 && 实际是a被赋值1+1为2
DO sub2 with A1,B1&& 继续是a1, b1传引用
RETURN
PROCEDURE sub2
PARA X,Y && x,y 就分别是a1,b1的别名,也就是a, b的别名
PRIV x,y
A=3+X && 这个a是这一层的局部变量,外层的全局变量a已经改名为x,被赋值3+2 = 5
B=2+Y&& 这个b也是这一层的局部变量,外层的b已改名y,被赋值20+2=22
&&上两个赋值并没有改变全局变量x,y的值
?A,B &&输出 5 22
RETURN
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)