当前位置: 首页 > 专利查询>福州大学专利>正文

一种基于DOM树的招标网站中标信息抽取方法技术

技术编号:19009205 阅读:49 留言:0更新日期:2018-09-22 09:04
本发明专利技术的目的是挺一种基于DOM树的招标网站中标信息抽取方法,包括以下步骤:首先通过对招标网站的中标信息列表页的采集,得到每一个中标项目在列表页中显示的标题以及中标项目详情页的链接,并通过链接得到中标项目详情页的HTML代码,上述数据构成一项中标项目数据,N项中标项目数据构成用数据集;对数据集中的每一项中标项目数据,利用该中标项目在列表页中的标题以及对应的HTML代码,创建一棵DOM树;遍历数据集,生成N棵DOM树;再根据N棵DOM树生成包装器;最后使用包装器抽取中标项目详情页面中的正文内容,即中标项目信息。该方法能够在提高中标信息抽取准确率的同时减少任务总执行时间。

A bid tree information extraction method based on DOM tree

The object of the invention is to support a DOM tree-based bid information extraction method for a bidding website, including the following steps: firstly, by collecting the bid information list page of the bidding website, the title displayed by each winning item in the list page and the link of the bid details page are obtained, and the bid winning item is obtained through the link. Details page HTML code, the above data constitutes a winning project data, N winning project data constitutes a data set; for each winning project data in the data set, using the title of the bid item in the list page and the corresponding HTML code, create a DOM tree; traverse the data set, generate N DOM trees; and then root. The wrapper is generated according to N DOM trees. Finally, the wrapper is used to extract the content of the text in the detail page of the winning item, that is, the information of the winning item. This method can improve the accuracy of bid information extraction while reducing the total execution time of tasks.

【技术实现步骤摘要】
一种基于DOM树的招标网站中标信息抽取方法
本专利技术涉及包装器(Wrapper)
,特别是一种基于DOM树的招标网站中标信息抽取方法。
技术介绍
将信息从网页中抽取出来,主要是由包装器来完成。所谓包装器其实是一个软件程序,这个程序是由已经制定好的一系列信息抽取规则和使用这些规则的程序构成。对于用户特定信息源的查询请求,从页面的信息源找出相关有用的数据抽取出来,并转换为用规定的格式描述的数据,返回给用户。一个包装器一般针对某一种特定的信息源中的一类页面。从多个不同信息源中抽取数据,需要一套的包装器程序库。目前网络上几乎所有的网页都或多或少地包含模板,模板的内容包含导航条、组织的标志和联系信息、广告条等,这些信息会频繁出现在同一个组织所有的网页中.这些内容构成了噪音。网页正文内容抽取方法的相关研究吸引了越多越多专家和学者的密切关注,并提出了一些算法。有学者提出一种基于双层决策的新闻网页正文的精确抽取算法,双层决策是指对新闻网页正文所在区域的全局范围决策和对正文范围内每段文字是否确是正文的局部内容决策;有学者提出一种基于DOM的网页主题信息自动提取算法,基于DOM规范,针对HTML的半结构化特征和缺乏语义描述的不足,提出含有语义信息的STU-DOM树模型.将HTML文档转换为STU-DOM树,并对其进行基于结构的过滤和基于语义的剪枝,能够准确地提取出主题信息;有学者提出一种基于标记窗的网页正文信息提取方法,通过计算标题中的文字和正文比对找出正文所在位置。有学者提出一种短正文网页的正文自动化抽取方法,通过文本字数将网页划分为短正文后通过找出文本密度最大的节点和位置判断是否为正文。目前多数的网页正文内容抽取算法都是以文本密度、标签密度为特征进行分类,并不考虑同类网页的正文内容标签相同内容不同的特性,对于正文内容短的问题处理结果不好。
技术实现思路
本专利技术的目的在于提供一种基于DOM树的招标网站中标信息抽取方法。为实现上述目的,本专利技术的技术方案是:一种基于DOM树的招标网站中标信息抽取方法,具体包括以下步骤:一种基于DOM树的招标网站中标信息抽取方法,其特征在于,所述方法包括以下步骤:步骤A:通过对招标网站的中标信息列表页的采集,得到每一个中标项目在列表页中显示的标题以及中标项目详情页的链接,并通过链接得到中标项目详情页的HTML代码,中标项目在列表页中的标题以及对应中标项目详情页的HTML代码构成一项中标项目数据,N项中标项目数据构成用于生成包装器的数据集;N为不小于1的自然数;步骤B:对数据集中的每一项中标项目数据,利用该中标项目在列表页中的标题以及对应中标项目详情页的HTML代码,创建一棵DOM树,遍历步骤A得到的包含N项中标项目数据的数据集后,生成N棵DOM树;步骤C:使用步骤B创建的N棵DOM树生成包装器Wrapper;步骤D:使用步骤C生成的包装器抽取招标网站的中标项目详情页面中的正文内容,即中标项目信息。在本专利技术一实施例中,所述步骤B中,对数据集中的每一项中标项目数据,利用该中标项目在列表页中的标题以及对应中标项目详情页的HTML代码,创建一棵DOM树,具体包括以下步骤:步骤B1:解析中标项目详情页的HTML代码,创建DOM树,对DOM树中的每个节点,定义八个属性进行描述,即节点表示为Node={label,attrib,text,parent,childs,prebro,nextbro,flag},分别表示标签类型、标签属性、文本、父节点、子节点、上一个兄弟节点、下一个兄弟节点、是否为中标信息标记,其中标签属性包含标签的id,class,href,且flag属性初始化为true;步骤B2:清理DOM树中修饰类标签所在的节点,修饰类标签包括<head></head>、<script></script>、<style></style>等。由于<head></head>为网站的头部信息,<script></script>为脚本,<style></style>为样式,都不会包含中标信息,所以予以删除;步骤B3:通过从列表页中获取到的中标项目标题,通过模糊匹配方法,在DOM树中查找标题所在的节点P;步骤B4:使用自定义节点替换节点P所在层中位于P节点之前的所有兄弟节点,对P节点的父节点递归进行此步骤,直到到达根节点结束;步骤B5:从<html>标签所在的根节点出发,进行广度优先遍历,根据节点的标签和标签属性对DOM树中的节点进行后处理。进一步的,所述步骤B3中,通过从列表页中获取到的中标项目标题,通过模糊匹配方法,在DOM树中查找标题所在的节点P,具体方法如下:对DOM树进行深度优先遍历并通过下式判断找出第一个符合的节点:其中,S表示列表页中的标题,T表示要比较的字符串,LCS(S,T)计算两个字符串的最长公共子序列长度,,S.length表示列表页中的标题的字符串长度。进一步的,所述步骤B4中,使用自定义节点替换P节点所在层中位于P节点之前的兄弟节点,自定义节点定义为<divclass="#equals">#</div>,其标签属性包含class属性且文本不为空,作用为在步骤B5中对DOM树进行后处理时,会将自定义节点保留而不被删除,flag属性设置为false表示自定义节点不是中标项目信息。进一步的,所述步骤B5中,从<html>标签所在的根节点出发,进行广度优先遍历,根据节点的标签和标签属性对DOM树中的节点进行后处理,具体包括以下步骤:步骤B51:将DOM树的根节点的全部子节点顺序加入到队列Q中;步骤B52:若队列Q不为空,从队列Q中弹出队列首部节点q,若队列为空则结束;步骤B53:若节点q为<a>标签且标签属性中包含href并且href的值不为空,则从DOM树中删除节点q,然后跳转到步骤B56,否则执行步骤B54;步骤B54:若节点q为<p>标签且标签属性中无id属性,则执行步骤B55,否则跳转到步骤B56;步骤B55:如果节点q为叶子节点则直接删除,然后跳转到步骤B52,否则将节点q替换为q的全部子节点,跳转到步骤B52;步骤B56:若节点标签q的标签属性中有class属性或者有id属性,则跳转到步骤B55,否则将其全部子节点加入到队列中并跳转到步骤B52。在本专利技术一实施例中,所述步骤C中,利用步骤B创建的N棵DOM树生成Wrapper,具体包括以下步骤:步骤C1:从N棵DOM树中随机选择一棵DOM树的根节点加入到集合S中;步骤C2:统计该节点包含的文本长度和其它N-1棵DOM树中与该节点具有相同标签类型和标签属性的节点包含的文本长度的分布情况,即统计不同文本长度所对应的节点数量,如果节本文档来自技高网
...
一种基于DOM树的招标网站中标信息抽取方法

【技术保护点】
1.一种基于DOM树的招标网站中标信息抽取方法,其特征在于:包括以下步骤:步骤A:通过对招标网站的中标信息列表页的采集,得到每一个中标项目在列表页中显示的标题以及中标项目详情页的链接,并通过链接得到中标项目详情页的HTML代码,中标项目在列表页中的标题以及对应中标项目详情页的HTML代码构成一项中标项目数据,N 项中标项目数据构成用于生成包装器的数据集;N 为不小于1的自然数;步骤B:对数据集中的每一项中标项目数据,利用该中标项目在列表页中的标题以及对应中标项目详情页的HTML代码,创建一棵DOM树,遍历步骤A得到的包含N项中标项目数据的数据集后,生成N棵DOM树;步骤C:使用步骤B创建的N棵DOM树生成包装器Wrapper;步骤D:使用步骤C生成的包装器抽取招标网站的中标项目详情页面中的正文内容,即中标项目信息。

【技术特征摘要】
1.一种基于DOM树的招标网站中标信息抽取方法,其特征在于:包括以下步骤:步骤A:通过对招标网站的中标信息列表页的采集,得到每一个中标项目在列表页中显示的标题以及中标项目详情页的链接,并通过链接得到中标项目详情页的HTML代码,中标项目在列表页中的标题以及对应中标项目详情页的HTML代码构成一项中标项目数据,N项中标项目数据构成用于生成包装器的数据集;N为不小于1的自然数;步骤B:对数据集中的每一项中标项目数据,利用该中标项目在列表页中的标题以及对应中标项目详情页的HTML代码,创建一棵DOM树,遍历步骤A得到的包含N项中标项目数据的数据集后,生成N棵DOM树;步骤C:使用步骤B创建的N棵DOM树生成包装器Wrapper;步骤D:使用步骤C生成的包装器抽取招标网站的中标项目详情页面中的正文内容,即中标项目信息。2.根据权利要求1所述的一种基于DOM树的招标网站中标信息抽取方法,其特征在于:所述步骤B中,对数据集中的每一项中标项目数据,利用该中标项目在列表页中的标题以及对应中标项目详情页的HTML代码,创建一棵DOM树,具体包括以下步骤:步骤B1:解析中标项目详情页的HTML代码,创建DOM树,对DOM树中的每个节点,定义八个属性进行描述,即节点表示为Node={label,attrib,text,parent,childs,prebro,nextbro,flag},分别表示标签类型、标签属性、文本、父节点、子节点、上一个兄弟节点、下一个兄弟节点、是否为中标信息标记,其中标签属性包含标签的id,class,href,且flag属性初始化为true;步骤B2:清理DOM树中修饰类标签所在的节点,修饰类标签包括<head></head>、<script></script>、<style></style>等。由于<head></head>为网站的头部信息,<script></script>为脚本,<style></style>为样式,都不会包含中标信息,所以予以删除;步骤B3:通过从列表页中获取到的中标项目标题,通过模糊匹配方法,在DOM树中查找标题所在的节点P;步骤B4:使用自定义节点替换节点P所在层中位于P节点之前的所有兄弟节点,对P节点的父节点递归进行此步骤,直到到达根节点结束;步骤B5:从<html>标签所在的根节点出发,进行广度优先遍历,根据节点的标签和标签属性对DOM树中的节点进行后处理。3.根据权利要求2所述的一种基于DOM树的招标网站中标信息抽取方法,其特征在于:所述步骤B3中,通过从列表页中获取到的中标项目标题,通过模糊匹配方法,在DOM树中查找标题所在的节点P,具体方法如下:对DOM树进行深度优先遍历并通过下式判断找出第一个符合的节点:其中,S表示列表页中的标题,T表示要比较的字符串,LCS(S,T)计算两个字符串的最长公共子序列长度,S.length表示列表页中的标题的字符串长度。4.根据权利要求2所述的一种基于DOM树的招标网站中标信息抽取方法,其特征在于:所述步骤B4中,使用自定义节点替换P节点所在层中位于P节点之前的兄弟节点,自定义节点定义为<divclass="#equals">#</div>标签,其标签属性包含class属性且文本不为空,作用为在步骤B5中对DOM树进行后处理时,会将自定义节点保留而...

【专利技术属性】
技术研发人员:陈羽中林剑郭昆张伟智
申请(专利权)人:福州大学
类型:发明
国别省市:福建,35

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

1