基于DOM和网页模板的Web信息抽取

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:wyj132
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:文章提出了一种基于DOM(文档结构模型)和网页模板的Web信息提取方法。参照DOM的定义,通过构造HTML解析树来描述网页结构。在抽取网页之前,先通过归纳网页模板来过滤网页中的噪音信息。然后,使用基于相对路径的抽取规则来进行信息抽取。最后,本文给出了归纳网页模板和抽取网页信息的实验结果。实验结果表明本文提出的归纳网页模板方法和信息抽取方法是正确的和高效的。
  关键词:信息抽取;文档结构模型;网页模板;抽取规则;相对路径
  中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)18-31617-03
  Information Extraction for the Web Sources Based on DOM and WebTemPlate
  WANG Li,TANG Jian-xiong
  (Computer Science and Technology School,WuHan University of Technology,Wuhan 430063,China)
  Abstract:Information extraction studled by the Paper is based on D0M (Document object Model) and web template. According to the definition of DOM, the paper describes the structure of web Pages by constructing HTML Parsing tree. Before Information extraction, the noise information can be filtrated in web pages by inducting web template. Then, the paper uses the extraction rule based on relative path to extract information in web pages. At last,the paper presents the result of inducting web template3s and extracting web pages. From the result,it is evident that the way of inducting web templates and the way of extracting web pages are correct and effective.
  Key words:Information Extraction;DOM;WebTemPlate;ExtractionRule;Relative Path
  
  1 引言
  
  随着互联网的飞速发展,互联网已经成为一个巨大的知识库。目前,Web上的网页已经成为人们日常生活中学习知识、获取信息必不可少的来源。为了有效地利用互联网上的信息,信息抽取技术应运而生。信息抽取技术属于人工智能的一个分支。使用信息抽取技术可以人性化地从网页中把人们需要的信息抽取出来。
  
  2 基本思想
  
  Web信息抽取流程如图1。
  图1 Web信息抽取流程
  2.1采集页面
  页面采集分为手动和自动两种方法。手动方法是指通过人手打开需要浏览的网页,然后把它保存到电脑中。而自动的方法则是通过程序自动的从互联网上获取网页,大大地节省了工作时间。本文采用的是自动搜集网页的方式。因为具有相似结构的网页的地址形式一般是相似的。搜集页面的时候,只要指定id的范围,就能自动地获取页面。
  采集页面过程中需要构造DOM树,即 HTML解析树,其算法如下:
  while (读取数据没有到文件尾) {
  获取HTML文档中的标签
  if(获取标签成功) {返回标签名称和标签类型}
  if(获取标签成功){
  if(标签为开始标签){
  if(根结点为空) {
  根据标签名创建根结点
  当前结点指向根结点
  continue }
  else{
  if(标签属于没有结束标签的标签){
  根据标签名创建新结点,并且为该结点赋值,
  当前结点指向当前结点的父结点}
  else{
  根据获取标签创建新结点,当前结点指向新结点
  }}}
  else{
  if(当前结点的结点名不等于结束标签名){
  当前结点到结束标签所对应的结点之间的每一个祖先结点,如果该祖先结点得不到匹配,则把它删除,并调整 HTML解析树。}
  当前结点指向该结束标签所对应的结点
  if(当前结点为叶子结点){
  当前结点赋值为该结束标签与开始标签之间的内容
  } } } }
  生成了HTML解析树后,要进一步的过滤HTML解析树的内容。