您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 通用互联网信息采集系统的设计与初步实现
第1页共8页通用互联网信息采集系统的设计与初步实现杜义华及俊川(中国科学院计算机网络信息中心管理服务中心,北京100864)摘要:通过建立网页资源库、结合Spider技术、内容分析技术,引入用户数据项和替换抽取指令编辑器等,提供和定制可视化通用性较强的互联网信息采集系统,能定期自动跟踪相关网站或网页,进行比较分析、抽取、规整入库、分类等从互联网上获取所需信息。本文主要分析和介绍其设计实现思路。关键词:互联网信息采集系统网络信息挖掘中图法分类号:TP393文献标识码:A文章编号:0310206DesignandImplementationofaInternetInformationGather&ProcessSystemDUYi-hua,JIJun-chuan(Dept.ofOA,ComputerNetworkInformationCenter,ChineseAcademyofScienceBeijing10084,China)Abstract:Byusingwebpagedatabasetechnology、SPIDERsearchingtechnologyandcontentparsingtechnology,providingwithUser-DefinedfieldconfigtoolandbatchGet&Replacescriptlanguageeditor,WedevelopaflexiblevisualInternetInformationGather&ProcessSystem,whichaccordingtouser’ssetting,canautomatictrackWeb、filterinformation、Gatherinformation、extractinformation、classifyinformationandsavetodatabasetermly.Thispaperintroducesthedesignandimplementationofthesystemindetail.Keywords:InternetInformationGather&ProcessSystem;WebMining引言现状信息多、有用少、分布杂乱无章、不断发展变化是互联网上信息资源特点,信息来源的异构性是网络信息难以采集整理再利用的焦点[1]。近年来关于web信息利用研究很多,大多集中在搜索引擎技术[2],旨在利用先进系统和人工智能技术,以一定策略在互联网中搜集、发现、理解、组织信息后为用户提供网页、图片、软件等检索服务。互联网信息采集系统是对Internet上某些或某类站点进行内容分析和分类整理,从网页第2页共8页中提取有效数据加工得到所需要的常常是该领域绝大部分资料,是新一代网络应用的方向,其不同于搜索引擎,纯智能化技术不能满足需要,不同于基于代理因特网信息获取的WebClone系统[3]及各类离线浏览器,他们下载的是页面,不能直接让用户抽取所需要数据项,不便自动实时监测源网站的更新信息等。采集系统均基于网页内容分析,除零星新闻采集程序外,目前较成熟的内容采集系统有“天星”系统(WebcateCPS)[4],其采用一种通用模板加脚本编程解决实现,有网络信息采集、分析、管理与发布工具(II-3I)[5]等。但现有系统不够大众化,还局限于定制开发,无法通用。设计目的信息采集过程可表现为用户指定需要采集的内容、这些内容映射到数据库中的哪一部分、以及其他一些采集规则,然后采集系统根据用户提供的这些信息进行采集。其不是用于互联网上未知信息未知网站的自动搜索,而主要是用于指定网站指定栏目下的信息,其采集的最终结果不再是页面,而是深入到站点和页面内部,采集中有效数据项和相关图片附件,并直接进入用户指定库。采集系统开发目的就是提供一个有力的工具,帮助普通用户(熟悉基本的HMTL)而非编程人员从异构数据源收集信息并转换为他所需要的信息,功能包括网页采集、分析下载、直接入库、自动分类整理、内容定期更新监测等,整个采集过程基于参数和配置管理控制,提供图形化界面编辑或向导式操作。系统将为最终用户提供一步到位的信息再整理过程,将浩瀚信息从无序化到有序化,可广泛用于情报收集、信息监控、行情跟踪、专业信息资源站、搜索引擎上二次开发[6]、内部知识系统或天气预报、股市、汇率、商情、动态新闻等的实时采集更新等。设计时充分考虑最大程度的通用性、易用性。实现原理目前,互联网上各网页均采用动态发布技术实现或采用模板制作,虽然Internet上的数据非常庞杂,但对于具体的网站和网页,却是有结构和有规律的。由于无论采集系统多么智能,网站页面和用户需求的映射关系都是采集系统程序不可能完全自动感知到的,但用户可以知道。因此系统程序实现的方法就是提供一个用户能够将需求告诉采集系统程序的通道。用户通过分析指定网站或指定的网站频道栏目下的网页元素,分析网页源HTML代码及网页间相互关系;可以发现其与所需要数据项的规律和对应关系,在剖析到原有网站本身版面内和版面间元素的关系的基础上,就可以根据用户指令将这些元素之间关系转换为用户需要的数据,即能有效利用了网站制作人的智慧和用户的智慧,从数据挖掘整理的角度设计和开发一套通用互联网信息采集系统。用户需告诉采集系统要在什么时候从哪里对满足哪些条件的内容经过哪些步骤(或者事件)然后采集出什么元素,并把该元素放置到数据库哪一部分等,系统设计时主要为将以上所有内容根据不同扫描频率作为配置文件按一套自定义接口描述标准对用户开放。第3页共8页流程分析信息采集过程即从异构数据源收集信息并转换为用户需要的信息的过程。以分析某个网站发布的需求信息或新闻动态为例,我们可能使用的方法是,第一次发现其已有上千条信息,将其全部下载为本地文件、分析为些文件,编程对此目录(含子目录)下所有文件扫描处理,取出有用数据项后,插入到数据库,中间还需要在插入库前进行转换、查重、对可能有关的图片附件进行分析、拷贝、重命名及入库处理,此后,根据源网站信息的更新频率,需在此基础上定期或不定期重新下载、重新扫描、查重入库,整个过程开发量大、调试烦琐,每次需要人工干预操作,且只有专业人士才能进行。特别是在同时跟踪许多个相关网站的不同更新信息时,几乎无法高效工作。本着模访现实的设计原则,我们设计和对照如下:上例中实际工作流程采集系统工作流程说明下载/更新建立下载用文件目录建立或指定网页资源库后者某类工程对一资源库下载网页/图片到本地解析保存到网页资源库后者更能有效筛选范围、解析特殊链接编程进行分析规整入库分析网页内规律分析网页内规律均用户干预,用户流览网站、查看分析网页源Html定义数据项、与表结构对应定义或加载数据项申明文件某类处理对应一申明文件扫描下载到本地目录扫描网页资源库后者可视化定义筛选范围对每个文件进行替换或抽取分析处理通过替换抽取过程编辑器定义处理指令后系统解释执行后者可加载模板,可视化操作,无需用户编程对图片附件分析处理定义其它信息采集规则可视化配置后自动完成。将分析后信息整理和入库根据数据项与数据库的映射、查重规则等自动处理调试程序下载、取样、文件操作、内容分析,反复调试,清空或还原测试数据…直接从互联网上拖入网址即能可视化测试、预览、排版和入库前者极不方便,后者灵活。定期跟踪手工重新执行以上过程/程序,需设法手工排重重新解析和增量下载(起点控制、地址排重、断续扫描)后者可自动跟踪。详细说明1、建立网页资源库用于跟踪采集用的源网页信息,记录项包括网页地址(Url)、网页标题(为原链接文字或网页中标题部分)、网页源文件、链接从何解析得到、源文件下载时间、分析入库状态等。支持对每个工程(我们定义对某个网站某类信息的跟踪处理全过程称一个工程)建一个第4页共8页资源库或某类工程(如均为采集企业类信息)建一个资源库或所有工程共用一个资源库。提供保存或不保存网页源文件两种方式,网页源文件只包括纯文本的Html,不保存图片等多媒体信息,可做定期清理维护。2、网站解析和网页下载同其它SPIDER系统或离线下载工具,能够获取网页源文件并进一步分析超链接递归扫描和将指定范围内有效信息保存到网页资源库。自行开发Spider具有更大灵活性和可定制性。能可视化配置扫描范围、附加筛选、过滤条件、最深层数等;并支持手工指定解析规律进行各类JavaScript特殊链接解析,提供Session控制功能等;3、内容分析入库引擎运用了html分析技术,剥离出用户所需信息的过程,如标题、正文、作者等。包括对用户自定义数据项声明文件加载、内容替换抽取脚本的解释执行、入库与数据整理,主要依靠一种自定义脚本过程语言支持实现。3.1)用户自定义数据项声明数据项声明文件为进行内容分析处理前的一种声明(或称配置文件),为xml格式文件,其中信息包含有自定义数据项、数据库映射、数据项缺省值、合法性校验规则、内置函数、查重设置。一个声明文件适用于一类内容分析过程。数据项定义:声明文件用于告知分析引擎将要处理的工作;如新闻类信息采集的数据项常为新闻标题、新闻内容、新闻时间、新闻作者、新闻来源、新闻关键词、原网页上的当前位置项,,项目需求类信息采集的数据项可为项目名称、项目联系人、应用行业、联系电话等,公司类信息采集的数据项可为公司名称、公司法人、公司年营业额等。数据项的中文标签化:为更加直观和友好界面,系统采为中文标签,分析引擎加载和处理时采用内部变量翻译和转换;版权保护:采集系统只是方便编辑人员的工具,版权问题由用户自行负责。系统同时提供内置两个全局数据项变量:源文件内容和源网址,分别为从网上抽取的源HTML(即供分析的数据)和源网页的URL,可供用户日后对照查看或显示转载来源用。数据项存储与数据库映射:xml格式存储:系统缺省按定义的数据项以xml格式存储,便于信息的利用和转换;数据库映射:系统支持和推荐用户将信息一步到位的直接入库,如新闻信息类采集可直接保存到新闻表、图片附件表等。用户最终数据项的存储由用户在数据项定义文件中映射定义,表结构由用户先行构造好,存储格式无论是存为SQLServer中、Acess库中、dbf中、Orcale中,只要为支持标准SQL即可。此时,还可设置合法性校验规则(主要为对长度控制、特殊字符控制、关键词过滤等)、查重设置(可定义根据某个或某几个数据项组成来判断)。第5页共8页分析引擎中声明文件为数据分析前的预先定义和初始化操作,只有加载后才能进行随后面的过程语言定义和编辑、进行数据项与数据库的映射直接入库等。各数据项在分析引擎中变化处理时均作为字符串处理,不同类型的字段通过与数据库的映射来实现。分析引擎中声明文件的引入,使用信息采集分析系统具有最大的灵活性。实际工作中,每个人此类定义的变化不一定很多,但只有它使得信息采集分析系统的通用和实用成为可能。3.2)数据项替换抽取过程根据定义加载的数据项对资源库中的网页源文件内容进行系统替换抽取操作并将有用信息分别赋值给各数据项的过程。替换抽取操作实际为四种字符串处理,分别对应系统内部几个自定义工具命令:赋值命令,即等于,如信息来源=新浪网;简单替换命令,即将什么替换为什么,如新闻日期=将新闻日期中的年替换为.高级替换命令,即将什么与什么之间的内容替换为什么,如当前位置=将当前位置中与之间的内容替换为空;抽取命令,即取什么与什么之间的全部内容/第1个/第几至几个/最后一个;如新闻标题=取源文件内容中的title到/title之间的全部内容或新闻标题=取新闻内容中的到之间的第1行另提供规整、当包含、当不包含等内置命令,规整命令为将指定的数据项去除前后的空格、合并多个空行、处理一些特殊字符,并可进行设置是否将全角数字或英文字符换为半角等。当包含和当不包含实际为一种简化的判断转向命令,分别为对一个变量进行判断是否含有或不含用某字符串时替换抽取操作如何进行,用于以上四种字符串处理命令行前限定用。内置几个特殊字符^p、^t、^o,分别代替回车换行、制表符、换行符等。内容分析处理引擎解释执行时依照以上命令行块的先后
本文标题:通用互联网信息采集系统的设计与初步实现
链接地址:https://www.777doc.com/doc-43591 .html