通用互联网信息采集系统的设计与开发_第1页
通用互联网信息采集系统的设计与开发_第2页
通用互联网信息采集系统的设计与开发_第3页
通用互联网信息采集系统的设计与开发_第4页
通用互联网信息采集系统的设计与开发_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

通用互联网信息采集系统的设计与初步实现杜义华 及俊川(中国科学院计算机网络信息中心管理服务中心 , 北京 100864)摘要:通过建立网页资源库、结合Spider技术、内容分析技术,引入用户数据项和替换抽取指令编辑器等,提供和定制可视化通用性较强的互联网信息采集系统,能定期自动跟踪相关网站或网页,进行比较分析、抽取、规整入库、分类等从互联网上获取所需信息。本文主要分析和介绍其设计实现思路。关键词:互联网信息采集系统 网络信息挖掘 中图法分类号:TP393 文献标识码:A 文章编号:0310206Design and Implementation of a Internet Information Gather & Process SystemDU Yi-hua , JI Jun-chuan(Dept. of OA , Computer Network Information Center , Chinese Academy of Science Beijing 10084,China)Abstract: By using web page database technology 、SPIDER searching technology and content parsing technology , providing with User-Defined field config tool and batch Get & Replace script language editor , We develop a flexible visual Internet Information Gather & Process System , which according to users setting , can automatic track Web 、filter information、Gather information、extract information、classify information and save to database termly .This paper introduces the design and implementation of the system in detail.Keywords:Internet Information Gather & Process System ;Web Mining引言现状信息多、有用少、分布杂乱无章、不断发展变化是互联网上信息资源特点,信息来源的异构性是网络信息难以采集整理再利用的焦点1。近年来关于web信息利用研究很多,大多集中在搜索引擎技术2,旨在利用先进系统和人工智能技术,以一定策略在互联网中搜集、发现、理解、组织信息后为用户提供网页、图片、软件等检索服务。互联网信息采集系统是对Internet上某些或某类站点进行内容分析和分类整理,从网页中提取有效数据加工得到所需要的常常是该领域绝大部分资料,是新一代网络应用的方向,其不同于搜索引擎,纯智能化技术不能满足需要,不同于基于代理因特网信息获取的 WebClone系统3及各类离线浏览器,他们下载的是页面,不能直接让用户抽取所需要数据项,不便自动实时监测源网站的更新信息等。采集系统均基于网页内容分析,除零星新闻采集程序外,目前较成熟的内容采集系统有“天星”系统(Webcate CPS) 4,其采用一种通用模板加脚本编程解决实现,有网络信息采集、分析、管理与发布工具(II-3I)5等。但现有系统不够大众化,还局限于定制开发,无法通用。设计目的信息采集过程可表现为用户指定需要采集的内容、这些内容映射到数据库中的哪一部分、以及其他一些采集规则,然后采集系统根据用户提供的这些信息进行采集。其不是用于互联网上未知信息未知网站的自动搜索,而主要是用于指定网站指定栏目下的信息,其采集的最终结果不再是页面,而是深入到站点和页面内部,采集中有效数据项和相关图片附件,并直接进入用户指定库。采集系统开发目的就是提供一个有力的工具,帮助普通用户(熟悉基本的HMTL)而非编程人员从异构数据源收集信息并转换为他所需要的信息,功能包括网页采集、分析下载、直接入库、自动分类整理、内容定期更新监测等,整个采集过程基于参数和配置管理控制,提供图形化界面编辑或向导式操作。系统将为最终用户提供一步到位的信息再整理过程,将浩瀚信息从无序化到有序化,可广泛用于情报收集、信息监控、行情跟踪、专业信息资源站、搜索引擎上二次开发6、内部知识系统或天气预报、股市、汇率、商情、动态新闻等的实时采集更新等。设计时充分考虑最大程度的通用性、易用性。实现原理目前,互联网上各网页均采用动态发布技术实现或采用模板制作,虽然Internet上的数据非常庞杂,但对于具体的网站和网页,却是有结构和有规律的。由于无论采集系统多么智能,网站页面和用户需求的映射关系都是采集系统程序不可能完全自动感知到的,但用户可以知道。因此系统程序实现的方法就是提供一个用户能够将需求告诉采集系统程序的通道。 用户通过分析指定网站或指定的网站频道栏目下的网页元素,分析网页源HTML代码及网页间相互关系;可以发现其与所需要数据项的规律和对应关系,在剖析到原有网站本身版面内和版面间元素的关系的基础上,就可以根据用户指令将这些元素之间关系转换为用户需要的数据,即能有效利用了网站制作人的智慧和用户的智慧,从数据挖掘整理的角度设计和开发一套通用互联网信息采集系统。用户需告诉采集系统要在什么时候从哪里对满足哪些条件的内容经过哪些步骤(或者事件)然后采集出什么元素,并把该元素放置到数据库哪一部分等,系统设计时主要为将以上所有内容根据不同扫描频率作为配置文件按一套自定义接口描述标准对用户开放。流程分析信息采集过程即从异构数据源收集信息并转换为用户需要的信息的过程。以分析某个网站发布的需求信息或新闻动态为例,我们可能使用的方法是,第一次发现其已有上千条信息,将其全部下载为本地文件、分析为些文件,编程对此目录(含子目录)下所有文件扫描处理,取出有用数据项后,插入到数据库,中间还需要在插入库前进行转换、查重、对可能有关的图片附件进行分析、拷贝、重命名及入库处理,此后,根据源网站信息的更新频率,需在此基础上定期或不定期重新下载、重新扫描、查重入库,整个过程开发量大、调试烦琐,每次需要人工干预操作,且只有专业人士才能进行。特别是在同时跟踪许多个相关网站的不同更新信息时,几乎无法高效工作。本着模访现实的设计原则,我们设计和对照如下:上例中实际工作流程采集系统工作流程说明下载/更新建立下载用文件目录建立或指定网页资源库后者某类工程对一资源库 下载网页/图片到本地解析保存到网页资源库后者更能有效筛选范围、解析特殊链接编程进行分析规整入库分析网页内规律分析网页内规律均用户干预,用户流览网站、查看分析网页源Html 定义数据项、与表结构对应定义或加载数据项申明文件某类处理对应一申明文件扫描下载到本地目录 扫描网页资源库后者可视化定义筛选范围对每个文件进行替换或抽取分析处理通过替换抽取过程编辑器定义处理指令后系统解释执行后者可加载模板,可视化操作,无需用户编程对图片附件分析处理定义其它信息采集规则可视化配置后自动完成。将分析后信息整理和入库根据数据项与数据库的映射、查重规则等自动处理调试程 序下载、取样、文件操作、内容分析,反复调试,清空或还原测试数据直接从互联网上拖入网址即能可视化测试、预览、排版和入库前者极不方便,后者灵活。定期跟踪手工重新执行以上过程/程序,需设法手工排重重新解析和增量下载(起点控制、地址排重、断续扫描)后者可自动跟踪。详细说明1、建立网页资源库用于跟踪采集用的源网页信息,记录项包括网页地址(Url)、网页标题(为原链接文字或网页中标题部分)、网页源文件、链接从何解析得到、源文件下载时间、分析入库状态等。支持对每个工程(我们定义对某个网站某类信息的跟踪处理全过程称一个工程)建一个资源库或某类工程(如均为采集企业类信息)建一个资源库或所有工程共用一个资源库。提供保存或不保存网页源文件两种方式,网页源文件只包括纯文本的Html,不保存图片等多媒体信息,可做定期清理维护。2、网站解析和网页下载同其它SPIDER系统或离线下载工具,能够获取网页源文件并进一步分析超链接递归扫描和将指定范围内有效信息保存到网页资源库。自行开发Spider具有更大灵活性和可定制性。能可视化配置扫描范围、附加筛选、过滤条件、最深层数等;并支持手工指定解析规律进行各类JavaScript特殊链接解析,提供Session控制功能等; 3、内容分析入库引擎运用了html分析技术,剥离出用户所需信息的过程,如标题、正文、作者等。包括对用户自定义数据项声明文件加载、内容替换抽取脚本的解释执行、入库与数据整理,主要依靠一种自定义脚本过程语言支持实现。3.1) 用户自定义数据项声明数据项声明文件为进行内容分析处理前的一种声明(或称配置文件),为xml格式文件,其中信息包含有自定义数据项、数据库映射、数据项缺省值、合法性校验规则、内置函数、查重设置。一个声明文件适用于一类内容分析过程。数据项定义:声明文件用于告知分析引擎将要处理的工作;如新闻类信息采集的数据项常为新闻标题、新闻内容、新闻时间、新闻作者、新闻来源、新闻关键词、原网页上的当前位置项,项目需求类信息采集的数据项可为项目名称、项目联系人、应用行业、联系电话等,公司类信息采集的数据项可为公司名称、公司法人、公司年营业额等。数据项的中文标签化:为更加直观和友好界面,系统采为中文标签,分析引擎加载和处理时采用内部变量翻译和转换;版权保护:采集系统只是方便编辑人员的工具,版权问题由用户自行负责。系统同时提供内置两个全局数据项变量:源文件内容和源网址,分别为从网上抽取的源HTML(即供分析的数据)和源网页的URL,可供用户日后对照查看或显示转载来源用。数据项存储与数据库映射:xml格式存储:系统缺省按定义的数据项以xml格式存储,便于信息的利用和转换;数据库映射:系统支持和推荐用户将信息一步到位的直接入库,如新闻信息类采集可直接保存到新闻表、图片附件表等。用户最终数据项的存储由用户在数据项定义文件中映射定义,表结构由用户先行构造好,存储格式无论是存为SQL Server 中、 Acess库中、dbf中、Orcale中,只要为支持标准SQL即可。此时,还可设置合法性校验规则(主要为对长度控制、特殊字符控制、关键词过滤等)、查重设置(可定义根据某个或某几个数据项组成来判断)。分析引擎中声明文件为数据分析前的预先定义和初始化操作,只有加载后才能进行随后面的过程语言定义和编辑、进行数据项与数据库的映射直接入库等。各数据项在分析引擎中变化处理时均作为字符串处理,不同类型的字段通过与数据库的映射来实现。分析引擎中声明文件的引入,使用信息采集分析系统具有最大的灵活性。实际工作中,每个人此类定义的变化不一定很多,但只有它使得信息采集分析系统的通用和实用成为可能。3.2) 数据项替换抽取过程根据定义加载的数据项对资源库中的网页源文件内容进行系统替换抽取操作并将有用信息分别赋值给各数据项的过程。替换抽取操作实际为四种字符串处理,分别对应系统内部几个自定义工具命令:赋值命令,即 等于,如信息来源=新浪网;简单替换命令,即 将什么替换为什么,如新闻日期=将新闻日期 中的 年 替换为 .高级替换命令,即 将什么 与 什么 之间的内容 替换为 什么 ,如 当前位置 = 将 当前位置 中 之间的内容替换为空;抽取命令,即 取 什么 与 什么 之间的 全部内容/第1个/第几至几个/最后一个;如 新闻标题 = 取 源文件内容 中的 到 之间的 全部内容 或 新闻标题 = 取 新闻内容 中的 到 之间的 第1行另提供规整、当包含、当不包含等内置命令,规整 命令为将指定的数据项去除前后的空格、合并多个空行、处理一些特殊字符,并可进行设置是否将全角数字或英文字符换为半角等。当 包含 和当不包含 实际为一种简化的判断转向命令,分别为对一个变量进行判断是否含有或不含用某字符串时替换抽取操作如何进行,用于以上四种字符串处理命令行前限定用。内置几个特殊字符p、t、o,分别代替回车换行、制表符、换行符等。内容分析处理引擎解释执行时依照以上命令行块的先后顺序依次执行。RPL(脚本文件扩展名,仅为一种习惯用法,最初来源于 Resouse Process Language的首字母)编辑器能根据用户定义的数据项列出下拉菜单等方便的进行上述操作指令的编辑、顺序调整及全面实时的测试。编辑或新建前可以灵活的定义和加载RPL块,如对于新闻信息采集(部分)。操作内容新闻标题 = 取 源文件内容 中的 到 之间的 全部内容当前位置 = 取 源文件内容 中的 当前位置: 到 之间的 全部内容当前位置 = 将 当前位置 中的 之间替换为 当前位置 = 将 当前位置 中的 > 替换为 规整 当前位置新闻内容 = 取 源文件内容 中的 到 之间的 全部内容新闻内容 = 将 新闻内容 中的 p 替换为 新闻内容 = 将 新闻内容 中的 替换为 p新闻内容 = 将 新闻内容 中的 替换为 p新闻内容 = 将 新闻内容 中的 替换为 p新闻内容 = 将 新闻内容 中的 替换为 p新闻内容 = 将 新闻内容 中的 sub 替换为 _sub新闻内容 = 将 新闻内容 中的 /sub 替换为 _/sub新闻内容 = 将 新闻内容 中的 sup 替换为 _sup新闻内容 = 将 新闻内容 中的 /sup 替换为 _/sup新闻内容 = 将 新闻内容 中的 替换为 _b_新闻内容 = 将 新闻内容 中的 替换为 _/b_新闻内容 = 将 新闻内容 中的 img 替换为 _img新闻内容 = 将 新闻内容 中的 之间替换为 新闻内容 = 将 新闻内容 中的 _img 替换为 img新闻内容 = 将 新闻内容 中的 _b_ 替换为 新闻内容 = 将 新闻内容 中的 _/b_ 替换为 新闻内容 = 将 新闻内容 中的 _sub 替换为 sub新闻内容 = 将 新闻内容 中的 _/sub 替换为 /sub新闻内容 = 将 新闻内容 中的 _sup 替换为 sup新闻内容 = 将 新闻内容 中的 _/sup 替换为 /sup新闻来源 = 健康时报以上脚本中,抽取了标题、当前位置、正文,并保留有正文中图片、原加粗、上标、下标、段落等排版格式。3.3) 其它分析采集规则规则加载方式:设定缺省下载采集配置,当调用中若有某项特别指定,以指定为准,否则继承此处设置。脚本有效范围:指定内容分析过程所针对网页范围,一般为指定网站或网址目录内尚未处理 (即监控程序新扫描到的)记录。图片附件处理:指定当通过替换抽取后某数据项中含有其它文件标记信息时是否处理和处理方法,如新闻内容中含有信息或产品介绍中等时,是否进一步分析下载其它格式文件,如图片、Flash、音频、视频文件等,若指定了需保留下载的文件(素材)类型,各类型文件的物理存放目录、数据库素材表字段的映射关系,系统可自动分析、采集、重命名和进行分类存储,并保持数据之间的逻辑关系。3.4) 映射存储入库设置配合数据项申明文件中的定义外,还有 是否根据关键数据项查重:如新闻标题查重、项目名称查重、图书名称+出版社查重等。信息再整理配置:是否分类映射、映射关系文件,用于信息自动分拣如根据新闻源网页的当前位置自动分类到某频道栏目等。3.5) 用户界面包括用户数据项申明文件编辑器、内容替换抽取脚本编辑器、范围定义生成向导、字典编辑器等,均同时提供单个和批量测试功能,各环节可分解调试组合应用。4、工程文件与自动监测:一个工程项目(Project)文件包括:指定对应网页资源库(缺省为空即公用资源库)、设置扫描解析前处理工作(扫描起始点,检查和清洗网页资源库);定义扫描和解析的各类参数,如范围、层次、保存内容、过滤等;指定分析整理中调用RPL文件;设置入库完成后是否需要和如何进行信息再整理;配置自动扫描周期(信息采集的时间间隔)。自动定期扫描更新的工程文件保存于autorun目录,信息采集系统的服务监控程序会定期检查此目录下所有工程项目,对需要扫描者添加至扫描序列中,扫描服务程序根据序列任务的优先级别和先后顺序依次执行。通过按工程项目管理和扫描处理,采集系统能自动把用户需要的信息按时从网络上采集分析入库,配合自动检测、标题重排、地址重排(网页资源库中网页地址唯一,标记有扫描日期和下载整理状态)、断续扫描等技术,最大程度的减少人工干预环节,提高效率。结束语互联网上有着海量信息,但信息庞杂无序和信息来源异构给我们挖掘利用带来一定难度。通过采用Html分析技术而非人工智能技术,引入加载数据项申明文件和解释执行替换抽取脚本技术,基本实现有通用性较强的互联网信息采集系统。配套有信息编辑管理和页面发布系统,本文不展开论述。系统目前运行平台为Windwos,网页资源库采用MSSQL 2000,采用多工程逐一启动处理,性能对P4的单CPU日采集分析网页50000条左右,已成功应用于医药博览网()、中国科学院网()、中科院产业化

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论