基于多页面比较的网页元数据自动抽取方法和系统技术方案

技术编号:3818519 阅读:601 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种基于多页面比较的网页元数据自动抽取方法和系统,属于互联网信息处理领域。互联网的页面都是用松散的HTML来组织的,而HTML语法验证不严格,语义和表现格式混合在一起,给网页数据抽取带来了很大的困难。本发明专利技术则能很好的解决这个问题。本发明专利技术基于一个假设“动态页面是由同一个模板填入不同的数据生成的”,因而可以通过比较多个相似的页面,进行规约推导,从而得到生成这组页面的模板。本发明专利技术包括以下部分:(1)网页采集器:从预设的网站抓取网页;(2)网页分类器:将相似的页面归为一组;(3)网页元数据分析模块:推导模板、抽取元数据;(4)网页元数据存储:存储和索引元数据;(5)元数据搜索引擎:检索和显示元数据。

【技术实现步骤摘要】

本专利技术属于互联网信息处理
,尤其涉及网页元数据的自动抽取方法及系 统。
技术介绍
随着互联网技术的飞速发展,互联网上的信息也以指数级增长,目前以网页为单 位基于关键字匹配的信息检索方式已经很难满足人们日益增长的对信息的渴求。例如有 人想在网上查找价格在10到20万之间的汽车的相关信息,传统的搜索引擎就很难完成这 种搜索。要满足这种信息检索的需求就必须将网页中的元数据提起出来,并进行存储和索 弓丨。然而从网页中提取元数据并非易事,因为互联网的页面都是用松散的HTML来组织的, 而HTML语法验证不严格,结构松散,语义和表现格式混合在一起,这给网页数据抽取带来 了很大的困难。目前已有一些方法致力于解决网页数据抽取的问题,但它们都有各自的不足之 处。人工模板的方法是通过由专业人员分析网页,利用XPATH或正则表达式来表示网页中 元数据各个字段的位置,这种方法对每个网站都要写不同的模板,而且一旦目标网站的页 面布局发生变化就必须修改模板,所以对模板维护的成本极高。而本专利技术使用时只需预先 做一些配置,然后可以由程序自动发现模板,即使目标网站的页面布局发生变化,也无需修 改程序或配置,即可推导新的模板。基于视觉的网页数据抽取方法比人工模板的方法具 有更高的自动性,理论上准确性应该很高,但是实际应用中因为需要解析Javascript和 CSS来得到网页中各个元素的位置和尺寸的信息,所以它对运行环境的资源要求较高,较高 的运行要求导致这种方法用于大规模分布式快速抓取的价值不高。而本专利技术不需要处理 Javascript和CSS,所以在资源开销和性能上更具有优势。
技术实现思路
本专利技术的目的是提供一种通过多页面的比较来解决网页元数据自动抽取问题的 方法及系统。它建立在一个假设“动态页面是由同一个模板填入不同的数据生成的”的基 础之上,通过比较多个相似的页面,进行规约推导,从而得到生成这组页面的模板,再用得 到的模板从网页中提取出元数据。本专利技术的技术方案基于多页面比较的网页元数据自动抽取方法及系统,包括以下 组成部分一、网页采集器网页采集器负责从若干个预先设定好的网站抓取网页并存储下来,为后面的分析 模块提供输入。这里我们采用了 Apache下面的一个开源项目Nutch,并在它的基础上进行了扩 展。Nutch是一个开源Java实现的搜索引擎。它提供的Web爬虫可以从一个网站的入口地 址出发,采用广度优先的策略,逐级向后遍历一定深度的页面。而且Nutch还支持分布式,它可以在多台机器上协同工作。Nutch可以很好的满足传统搜索引擎的需求,但是对于元数据抽取来说,这样漫无 目的地遍历页面效率比较低,其中很多页面对于具体应用来说都是无用页面。因而为了使 网页抓取的目的性更强,提高Nutch爬虫的效率,我们对Nutch的源代码进行了扩展,把所 有页面分为四类,并遵循一定的规则去遍历页面。 (一)列表页面各个网站列出数据结果的页面,通常由一个列表和一组翻页链 接构成,这是网页采集器起始的地址。例如搜房网的房源列表页面http://eSf. soufim. com/newsecond/sale_info/SearchList_New2. aspx,这是一个典型的列表页面,通过翻页 列出更多的房源数据结果,从这个地址出发能有效地避开其他无关的新闻或广告等页面。 网页收集器从这个页面出发,采用广度优先的策略,逐步向下深入抓取。同时我们还加入了 智能链接分析技术,能够找到翻页的链接,从而可以遍历所有页,采集到更多的网页。(二)数据页面列出详细数据的页面。例如上面给出的搜房网的房源结果页面 列出了 20套房子,每套房子的标题上都有一个链接,点击这个链接就可以看到房源的详细 信息,这些页面就是数据页面,数据页面把一套房子的属性全部列出来了,因而,分析这个 页面可以将房源的元数据提取出来。网页元数据分析模块主要从这类页面中提取元数据。 这里数据页面的链接由用户用正则表达式事先指定好。(三)导航页面从列表页面到数据页面有时是直接的,有时会经过若干个页面才 能到达,这些从列表页面到数据页面之间的中间页面就是导航页面。导航页面里面往往没 有元数据,只是过渡到数据页面的桥梁,所以无需对其进行分析,只要处理它里面的链接就 够了。这里导航页面的链接由用户用正则表达式事先配置好。(四)干扰页面一个网站里除列表页面、数据页面和导航页面之外的其他页面都 是干扰页面,这些页面对于提取元数据没有任何帮助,所以不需要下载分析。二、网页分类器逐个输入网页采集器抓取的网页,将从同一个列表页面链接到的数据页面归为一 类,批量输入给网页元数据分析模块,因为从同一个列表页面链接到的数据页面往往是由 同一个模板生成的。网页分类器是基于Hadoop开发的。Hadoop是Google MapReduce的一个开源 Java实现。MapReduce是一种简化的分布式编程模式,让程序自动分布到一个由普通机器 组成的超大集群上并发执行。就如同java程序员可以不考虑内存泄露一样,MapReduce的 rim-time系统会解决输入数据的分布细节,跨越机器集群的程序执行调度,处理机器的失 效,并且管理机器之间的通讯请求。这样的模式允许程序员可以不需要有什么并发处理或 者分布式系统的经验,就可以处理超大的分布式系统得资源。网页分类器利用Hadoop可以很好的在多台机器上处理大量的网页。三、网页元数据分析模块输入一组页面,选取其中若干个页面进行规约推导,得到这组页面的模板,再利用 该模板对这组页面进行数据抽取,得到元数据,并存储下来。参考说明书附2,网页元数据分析模块的主要步骤如下 (一)读入 min_infer 个页面 miruinfer是用户预先配置好的一个参数,表示每次推导最少使用多少个页面。min_infer会影响模板推导的质量,因为当页面太少时,可能把一部分元数据当成模板中不 变的部分,从而忽略掉(在本专利技术中,把模板中变化部分当成元数据候选)。( 二)推导模板 这一部分将具体介绍模板推导的基本原理和算法。规约推导出的模板采用 union-free regularexpression 来表不。union-free regular expression 白勺定义如下给定特殊符号#POTATA和#SUBTREE和一个符号字母表Σ包含#POTATA禾口 #SUBTREE,则 union-freeregular expression 是由字符集Σ U {#PCDATA,#SUBTREE,·,?, +,(,)}构成的字符串,且满足以下条件1.空串 ε,Σ U {#PCDATA,#SUBTREE}中的任意元素是 union-free regular expression ;2.如果 a 禾口 b 是 union-free regular expression,那么 a · b, (a)+, (a) ?也是 union-free regular expression。上面是union-free regular expression的语法定义,其中,这些符号的语义分别 是1. #PCDATA表示一个可变的文本串;2. SUBTREE表示一个HTML文档中的一个可变的子树,这个子树由本文档来自技高网
...

【技术保护点】
基于多页面比较的网页元数据自动抽取方法及系统,包括以下部分:(1)网页采集器:从若干个预先设定好的网站抓取网页并存储下来,为后面的分析模块提供输入;(2)网页分类器:逐个输入网页收集器抓取的网页,将从同一个列表页面链接出去的页面作为一类页面,批量输入给网页元数据分析模块;(3)网页元数据分析模块:输入一组页面,选取其中若干个页面进行规约推导,得到这组页面的模板,再利用该模板对这组页面进行数据抽取,得到元数据,并存储下来;(4)网页元数据存储:存储并索引网页元数据分析模块得到的结果;(5)元数据搜索引擎:用于检索和显示分析后的元数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:甘雨李沛剡
申请(专利权)人:上海谐宇网络科技有限公司
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1