一种基于主题的Web页面清洗方法

文档序号:6509082阅读:163来源:国知局
一种基于主题的Web页面清洗方法【专利摘要】本发明属于计算机科学与【
技术领域
】,涉及一种基于主题的Web页面清洗方法,包括:确定主题领域;采集样本页面,并对样本页面的网页结构进行分析,确定页面元素树形结构;确定抽取内容标签边界;根据标签边界定义正则表达式匹配规则,利用多个抽取规则组成抽取规则模板;对待清洗页面进行清洗预处理,剔除容易分辨的“噪音”内容;利用已生成的抽取规则模板进行页面清洗,得到清洗后的页面。本发明直接在页面中抽取有用信息,大大降低了页面清洗的复杂度和困难度。针对Web页面标签的复杂多样性和局部固定性,采用正则表达式直接匹配和抽取需要的标签,保留有用信息并自动剔除掉无用信息,可有效地实现页面清洗的目的。【专利说明】一种基于主题的Web页面清洗方法【
技术领域
】[0001]本发明属于计算机科学与【
技术领域
】,涉及一种基于主题的Web页面清洗方法。【
背景技术
】[0002]当今互联网上的资源信息依然集中在各式各样的Web页面中,由于Web页面内容丰富,结构复杂,而有时我们关心的也许只是页面当中很小一部分内容块。如何针对不同的网页结构去除页面中大量无用的信息,而只获取到所需要的数据,为人们更好的提供检索服务,这就成为了Web资源处理过程中一个重要的工作,页面清洗就是为达到这一目标而出现。[0003]目前通用的页面清洗方法主要分为三个步骤:第一步将页面当中的样式表、脚本以及注释等无关信息去除掉。第二步将页面分块,包括图像块、文本块和链接块等等。第三步按照指定规则对各块做进一步筛选,例如从链接块中分离出广告链接、导航链接等无用信息,从文本块中分离出公告、广告等非关键信息。经过上述几步处理之后,页面在结构和语义上就被划分为细粒度的信息块,使后续的信息加工处理工作能够顺利进行。[0004]现在比较流行的页面清洗方法有以下两类:[0005]—是基于样本学习策略的页面清洗方法。该方法基于对大量米集样本的学习,分析所需清洗页面的内容块,从而保留必要的采集信息。这种清洗方法对于相似页面清洗效率高,清洗的准确度和精度都很高,但是对于异构的页面效率明显降低,适用范围不广。同时,该方法前期的学习过程需要借助大量的样本页面,样本页面质量的好坏决定了清洗的效能,样本学习也是一个比较耗时的过程,因此该方法的依赖性强,前期投入和开销大。[0006]二是基于页面DOM解析策略的页面清洗方法。该方法是目前适用范围最广的一种页面清洗方法,它的中心思想是依赖于对页面文档结构模型DOM的分析。经过对页面DOM的分析和学习得到一系列“噪声”信息,然后把这些无用的信息去除,从而保留必要的采集信息。这种方法不同于上述方法,由于是基于页面DOM的分析和判断,对不同的“噪声”信息可以根据情况设定不同的标准,因此它对异构页面的清洗效果较好,使用范围也比较广。但是由于是基于DOM的方法,对系统内存的开销较大,同时清洗的时间效率也不是很高。[0007]可以看出,目前页面清洗方法的设计思路都比较相似,都是基于样本学习和页面DOM分析来实现,这些方式的算法过于复杂,对于特定结构的网页抽取效率高,对于异构网页处理效果不好,这种机制高度依赖网页结构的相似性,但是对于当今互联网页面的异构性和复杂性,这种机制的处理结果比较不理想,而且此算法本身实现复杂,不利于更新。【
发明内容】[0008]针对现有技术中存在的算法复杂、效率低、成本高等问题,本发明提出了一种基于主题正则表达式匹配抽取策略的页面清洗方法。[0009]为了实现上述目的,本发明采用以下技术方案:[0010]首先,对待清洗页面的页面结构特征进行分析,具体包含确定待清洗页面的页面主题领域、确定页面的样本以及确定抽取内容标签边界。[0011]其次,根据确定的内容标签边界定义匹配抽取规则的正则表达式。[0012]然后,进行页面清洗前的预处理工作,包括对页面的标签和内容进行标准格式化,把页面标签和内容的形式尽量标准化,以降低算法的难度,提高匹配抽取过程的效率。[0013]最后,利用匹配规则进行页面清洗,得到清洗后的页面内容。[0014]与现有技术相比,本发明具有以下优点:[0015]本发明将传统页面清洗工作的从在页面中“找”出“噪声”信息变成直接在页面中抽取有用信息,大大降低了页面清洗的复杂度和困难度。针对Web页面标签的复杂多样性和局部固定性,采用正则表达式直接匹配和抽取需要的标签,保留有用信息并自动剔除掉无用信息,可有效地实现页面清洗的目的。本发明避开了传统页面清洗技术的缺陷,简单实用,清洗效率和准确性都有所提高,同时节约了系统的开销。这种个性化、有针对性的设计思想不仅能降低目前页面清洗方法的难度,同时还能提高页面的清洗效率,更能适应目前Web信息采集技术基于主题、定向、个性化的发展趋势。【专利附图】【附图说明】[0016]图1为本发明所涉及的方法流程图;[0017]图2为旅游网页酒店信息实例;[0018]图3为网页结构图;[0019]图4为页面dl标签片段;[0020]图5为页面ul标签片段。【具体实施方式】[0021]下面根据附图和具体实施例对本发明做进一步说明。[0022]本发明所述方法的流程图如图1所示,包括如下步骤:[0023]步骤一,确定主题领域:人工采集和选取多个样本页面进行分析,提取出关键词,由关键词确定页面内容的主题范围,最终确定主题领域。[0024]由于本方法是基于主题的,因此页面主题的确定能大大提高清洗的准确性和效率。[0025]本实施选取旅游为主题。旅游信息网页是一类有很强开发价值的网页,它具有结构稳定、信息量大、实用价值高、需求广泛等特点。考虑上述这些特点,如果对这样的网页进行传统的页面清洗工作,没有针对性,显然不能满足需求。由于这类网页在各大网站的功能相近,所起的作用相似,因此网页的结构相对比较稳定,不会受到某个具体网站的约束,适合进行大批量统一采集处理,例如携程网、途牛网、去哪儿网的网页整体结构就基本一样。[0026]步骤二,采集样本页面,并对样本页面的网页结构进行分析,确定页面元素树形结构。具体方法如下:[0027](I)采集样本页面。[0028]图2是针对去哪儿网采集的一个旅游信息样本页面,是有关酒店信息的一个实例,对网页结构展开如图3所示。从图中的可以看出,此网页的结构十分清晰,需要的旅游信息也就是图中酒店信息单元这一部分。因此,不需要使用传统的页面清洗方法,一步步分析清除掉不需要的内容块直至保留需要的内容块,而只需要把<dl>与</dl>之间的内容直接匹配出来即可,这样也同样能够达到保留所需信息,过滤“噪声”信息的页面清洗目的。[0029](2)对样本页面结构分析,确定页面元素树形结构。[0030]分析样本网页的结构图可以发现,<dl>与</dl>标签之间的内容也是结构化的。从上述实例筛选下述片段进行分析,如图4所示。这是酒店信息单元模块,包含了某酒店周边一些重要地理位置的信息,其中的数据信息正是需要采集的。如果再次对这个单元模块信息进行匹配,就能更精确地定位采集数据,而使页面清洗工作更加深入彻底,为后面的信息抽取工作提供最大程度的帮助。上面的每一条酒店信息的元数据都是进行信息重组和再现的最好素材。[0031]步骤三,确定抽取内容标签边界。[0032]由上述对样本网页的分析可知,抽取内容标签的边界为<ul>,它包含了即将抽取的主题内容。[0033]步骤四,根据标签边界定义正则表达式匹配规则,利用多个抽取规则组成抽取规则模板。具体方法如下:[0034](I)根据边界标签定义正则表达式匹配规则。[0035]正则表达式匹配规则的定义和匹配抽取标签的思路一样,选取<ul>标签做为标签边界,如图5所示。匹配抽取工作分为两步进行,每一步都需要定义一个Pattern对象:[0036](a)匹配外层<ul>标签。[0037](b)针对第一步的匹配结果匹配内层的<a>标签并抽取其内容。[0038]第一个Pattern对象构造的正则表达式抽取规则如下:【权利要求】1.一种基于主题的Web页面清洗方法,其特征在于,直接在页面中抽取有用信息,针对Web页面标签的复杂多样性和局部固定性,采用正则表达式直接匹配和抽取需要的标签,保留有用信息并自动剔除掉无用信息;包括以下步骤:步骤一,确定主题领域:人工采集和选取多个样本页面进行分析,提取出关键词,由关键词确定页面内容的主题范围,最终确定主题领域;步骤二,采集样本页面,并对样本页面的网页结构进行分析,确定页面元素树形结构;步骤三,确定包含即将抽取的主题内容的抽取内容标签边界<ul>;步骤四,根据标签边界定义正则表达式匹配规则,利用多个抽取规则组成抽取规则模板;步骤五,对待清洗页面进行清洗预处理,剔除容易分辨的“噪音”内容;步骤六,利用已生成的抽取规则模板进行页面清洗,得到清洗后的页面。2.根据权利要求1所述的一种基于主题的Web页面清洗方法,其特征在于,步骤二采集样本页面不需要使用传统的页面清洗方法,一步步分析清除掉不需要的内容块直至保留需要的内容块,而只需要把<dl>与</dl>之间的内容直接匹配出来即可,这样同样达到保留所需信息,过滤“噪声”信息的页面清洗目的。3.根据权利要求1所述的一种基于主题的Web页面清洗方法,其特征在于,步骤四定义正则表达式匹配规则分为两步进行,每一步都需要定义一个Pattern对象:(a)匹配外层<ul>标签;(b)针对(a)的匹配结果匹配内层的<a>标签并抽取其内容;第一个Pattern对象构造的正则表达式抽取规则如下:Patternpatternl=Pattern.compile(<ul(['>]*)>(.*)?</ul>,,,Pattern.DOTALLIPattern.MULTILINE)上面的Pattern可以把整个<ul>标签从页面中匹配出来,其中“<ul”表示该匹配标签以此开头;“(>]*)”表示可以匹配除“〉”以外所有的字符,可以出现任意多次,并且对其进行分组,实际代表Ul标签的属性;“(.*)?,,表示ul标签体的内容,就是需要采集的信息块;“〈/ul>”是ul标签的结束标志;后面的“Pattern.DOTALL|Pattern.MULTILINE”是compile方法的可选参数,表示此正则表达式可以进行多行匹配,并且对字母大小写不敏感;第二个Pattern对象构造的正则表达式抽取规则如下:PatternpatternI=Pattern.compile(“〈ahref=\\“(「\\“I*)\\,,(.*)?>(.*)?</a>,Pattern.DOTALLIPattern.MULTILINE)上面的Pattern可以匹配出<ul>里的<a>标签,“〈ahref=”表示匹配标签以此开头;“\\“(\\“]*)\\””表示href属性的值,也就是超链接的地址(.*)?>”表示<a>标签的其它属性;“(.*)?</a>”表示<a>标签的内容以及结束标志,Pattern.DOTALL|Pattern.MULTILINE”是compile方法的可选参数,表示此正则表达式可以进行多行匹配,并且对字母大小写不敏感。4.根据权利要求1所述的一种基于主题的Web页面清洗方法,其特征在于,步骤五对待清洗页面进行清洗预处理的方法如下:(I)规定“噪音”内容范畴;一般旅游信息数据都存在于页面的正文段落、列表和表格中,同时考虑其它必要信息的提取,最后得出页面匹配需要抽取的常见标签大致有如下几种:〈Meta>、<a>、<>、<dl>、<ul>、〈table〉;清洗后的页面必须符合以下规范:(a)标签的封闭符“〈”和“〉”,只能出现在包含网页标签的地方,如有其它用途,必须使用它们的转义字符“&lt;”和“&gt;”代替;(b)标签的属性值如果存在,则必须把它们放在成对的单引号之间;(C)标签的嵌套顺序必须是正确的;Cd)网页中的单标记节点,末尾都必须加标签闭合标志“〈./>”;Ce)如果不是单标记节点,那么标签必须由起始标签和结束标签组成;“〈...>”和“〈/...>,,;(2)剔除属于“噪音”内容的页面标签及其内容;将“噪音”标签做为标签边界生成匹配抽取`规则进行清洗。【文档编号】G06F17/30GK103440315SQ201310378986【公开日】2013年12月11日申请日期:2013年8月27日优先权日:2013年8月27日【发明者】沈琦,宋清明,张猛,汤艳申请人:北京工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1