(物联网)通用互联网信息采集系统的设计与初步实现 通用互联网信息采集系统的设计和初步实现 杜义华及俊川
(中国科学院计算机网络信息中心管理服务中心,北京100864)
摘要: 通过建立网页资源库、结合Spider技术、内容分析技术,引入用户数据项和替换抽取指令编辑器等,提供和定制可视化通用性较强的互联网信息采集系统,能定期自动跟踪关联网站或网页,进行比较分析、抽取、规整入库、分类等从互联网上获取所需信息。本文主要分析和介绍其设计实现思路。 关键词:互联网信息采集系统网络信息挖掘 中图法分类号:TP393文献标识码:A文章编号:0310206 DesignandImplementationofaInternetInformationGather&ProcessSystem DUYi-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上某些或某类站点进行内容分析和分类整理,从网页中提取有效数据加工得到所需要的常常是该领域绝大部分资料,是新壹代网络应用的方向,其不同于搜索引擎,纯智能化技术不能满足需要,不同于基于代理因特网信息获取的WebClone系统[3]及各类离线浏览器,他们下载的是页面,不能直接让用户抽取所需要数据项,不便自动实时监测源网站的更新信息等。 采集系统均基于网页内容分析,除零星新闻采集程序外,目前较成熟的内容采集系统有“天星”系统(WebcateCPS)[4],其采用壹种通用模板加脚本编程解决实现,有网络信息采集、分析、管理和发布工具(II-3I)[5]等。但现有系统不够大众化,仍局限于定制开发,无法通用。
设计目的 信息采集过程可表现为用户指定需要采集的内容、这些内容映射到数据库中的哪壹部分、以及其他壹些采集规则,然后采集系统根据用户提供的这些信息进行采集。其不是用于互联网上未知信息未知网站的自动搜索,而主要是用于指定网站指定栏目下的信息,其采集的最终结果不再是页面,而是深入到站点和页面内部,采集中有效数据项和关联图片附件,且直接进入用户指定库。 采集系统开发目的就是提供壹个有力的工具,帮助普通用户(熟悉基本的HMTL)而非编程人员从异构数据源收集信息且转换为他所需要的信息,功能包括网页采集、分析下载、直接入库、自动分类整理、内容定期更新监测等,整个采集过程基于参数和配置管理控制,提供图形化界面编辑或向导式操作。 系统将为最终用户提供壹步到位的信息再整理过程,将浩瀚信息从无序化到有序化,可广泛用于情报收集、信息监控、行情跟踪、专业信息资源站、搜索引擎上二次开发[6]、内部知识系统或天气预报、股市、汇率、商情、动态新闻等的实时采集更新等。设计时充分考虑最大程度的通用性、易用性。
实现原理 目前,互联网上各网页均采用动态发布技术实现或采用模板制作,虽然Internet上的数据非常庞杂,但对于具体的网站和网页,却是有结构和有规律的。由于无论采集系统多么智能,网站页面和用户需求的映射关系均是采集系统程序不可能完全自动感知到的,但用户能够知道。因此系统程序实现的方法就是提供壹个用户能够将需求告诉采集系统程序的通道。 用户通过分析指定网站或指定的网站频道栏目下的网页元素,分析网页源HTML代码及网页间相互关系;能够发现其和所需要数据项的规律和对应关系,于剖析到原有网站本身版面内和版面间元素的关系的基础上,就能够根据用户指令将这些元素之间关系转换为用户需要的数据,即能有效利用了网站制作人的智慧和用户的智慧,从数据挖掘整理的角度设计和开发壹套通用互联网信息采集系统。 用户需告诉采集系统要于什么时候从哪里对满足哪些条件的内容经过哪些步骤(或者事件)然后采集出什么元素,且把该元素放置到数据库哪壹部分等,系统设计时主要为将之上所有内容根据不同扫描频率作为配置文件按壹套自定义接口描述标准对用户开放。 流程分析 信息采集过程即从异构数据源收集信息且转换为用户需要的信息的过程。 以分析某个网站发布的需求信息或新闻动态为例,我们可能使用的方法是,第壹次发现其已有上千条信息,将其全部下载为本地文件、分析为些文件,编程对此目录(含子目录)下所有文件扫描处理,取出有用数据项后,插入到数据库,中间仍需要于插入库前进行转换、查重、对可能有关的图片附件进行分析、拷贝、重命名及入库处理,此后,根据源网站信息的更新频率,需于此基础上定期或不定期重新下载、重新扫描、查重入库,整个过程开发量大、调试烦琐,每次需要人工干预操作,且只有专业人士才能进行。特别是于同时跟踪许多个关联网站的不同更新信息时,几乎无法高效工作。 本着模访现实的设计原则,我们设计和对照如下:
上例中实际工作流程 采集系统工作流程 说明 下载/更新 建立下载用文件目录 建立或指定网页资源库 后者某类工程对壹资源库 下载网页/图片到本地 解析保存到网页资源库 后者更能有效筛选范围、解析特殊链接 编程进行分析规整入库 分析网页内规律 分析网页内规律 均用户干预,用户流览网站、查见分析网页源Html 定义数据项、和表结构对应 定义或加载数据项申明文件 某类处理对应壹申明文件
扫描下载到本地目录 扫描网页资源库 后者可视化定义筛选范围 对每个文件进行替换或抽取分析处理 通过替换抽取过程编辑器定义处理指令后系统解释执行 后者可加载模板,可视化操作,无需用户编程
对图片附件分析处理 定义其它信息采集规则 可视化配置后自动完成。 将分析后信息整理和入库 根据数据项和数据库的映射、查重规则等自动处理
调试程序 下载、取样、文件操作、内容分析,反复调试,清空或仍原测试数据… 直接从互联网上拖入网址即能可视化测试、预览、排版和入库 前者极不方便,后者灵活。
定期跟踪 手工重新执行之上过程/程序,需设法手工排重 重新解析和增量下载(起点控制、地址排重、断续扫描) 后者可自动跟踪。 详细说明 1、建立网页资源库 用于跟踪采集用的源网页信息,记录项包括网页地址(Url)、网页标题(为原链接文字或网页中标题部分)、网页源文件、链接从何解析得到、源文件下载时间、分析入库状态等。 支持对每个工程(我们定义对某个网站某类信息的跟踪处理全过程称壹个工程)建壹个资源库或某类工程(如均为采集企业类信息)建壹个资源库或所有工程共用壹个资源库。 提供保存或不保存网页源文件俩种方式,网页源文件只包括纯文本的Html,不保存图片等多媒体信息,可做定期清理维护。 2、网站解析和网页下载 同其它SPIDER系统或离线下载工具,能够获取网页源文件且进壹步分析超链接递归扫描和将指定范围内有效信息保存到网页资源库。自行开发Spider具有更大灵活性和可定制性。能可视化配置扫描范围、附加筛选、过滤条件、最深层数等;且支持手工指定解析规律进行各类JavaScript特殊链接解析,提供Session控制功能等;
3、内容分析入库引擎 运用了html分析技术,剥离出用户所需信息的过程,如标题、正文、作者等。包括对用户自定义数据项声明文件加载、内容替换抽取脚本的解释执行、入库和数据整理,主要依靠壹种自定义脚本过程语言支持实现。
3.1)用户自定义数据项声明 数据项声明文件为进行内容分析处理前的壹种声明(或称配置文件),为xml格式文件,其中信息包含有自定义数据项、数据库映射、数据项缺省值、合法性校验规则、内置函数、查重设置。壹个声明文件适用于壹类内容分析过程。 数据项定义: 声明文件用于告知分析引擎将要处理的工作;如新闻类信息采集的数据项常为新闻标题、新闻内容、新闻时间、新闻作者、新闻来源、新闻关键词、原网页上的当前位置项,,项目需求类信息采集的数据项可为项目名称、项目联系人、应用行业、联系电话等,公司类信息采集的数据项可为公司名称、公司法人、公司年营业额等。 数据项的中文标签化:为更加直观和友好界面,系统采为中文标签,分析引擎加载和处理时采用内部变量翻译和转换;