首页> 中国专利> 一种从新闻列表页抽取新闻记录元数据的方法及系统

一种从新闻列表页抽取新闻记录元数据的方法及系统

摘要

本发明公开了一种从新闻列表页抽取新闻记录元数据的方法及系统。本发明首先获取目标新闻列表页的网页源代码,按照所述网页源代码对应的HTML文本顺序生成HTML标签树;然后遍历所述HTML标签树,计算每个HTML标签子树的文本链接比得分,将文本链接比得分大于设定阈值的标签子树进行合并,获取一棵最大候选子树;最后从所述最大候选子树中抽取新闻记录元数据列表。采用本发明,用户只需输入新闻列表页,无需配置模板即可得到新闻记录,完全实现了新闻资讯网站列表页新闻记录抽取的自动化、无人化。而且无需关心新闻网站将来是否改版,极大降低了维护和使用成本。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-11-03

    未缴年费专利权终止 IPC(主分类):G06F17/30 专利号:ZL2010105306439 申请日:20101029 授权公告日:20130918

    专利权的终止

  • 2022-06-28

    专利权的转移 IPC(主分类):G06F17/30 专利号:ZL2010105306439 登记生效日:20220616 变更事项:专利权人 变更前权利人:北大方正集团有限公司 变更后权利人:新方正控股发展有限责任公司 变更事项:地址 变更前权利人:100871 北京市海淀区成府路298号方正大厦 变更后权利人:519031 广东省珠海市横琴新区华金街58号横琴国际金融中心大厦3007 变更事项:专利权人 变更前权利人:北京大学 北京北大方正电子有限公司 变更后权利人:北京大学 北京北大方正电子有限公司

    专利申请权、专利权的转移

  • 2013-09-18

    授权

    授权

  • 2012-07-04

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20101029

    实质审查的生效

  • 2012-05-23

    公开

    公开

说明书

技术领域

本发明属于网络信息抽取技术领域,具体涉及一种从新闻列表页抽取新 闻记录元数据的方法及系统。

背景技术

为了实现网页的导航,显示用户阅读的相关信息,以及帮助用户实现快 速跳转到其他页面,网页中一般要设计列表信息,称为列表页面,列表页面 布局通常包括横幅模块、广告模块、列表模块、噪音栏目模块、版权声明模 块。新闻网站的列表页面,简称新闻列表页对用户快速获取新闻记录和网络 抓取程序快速抓取新闻记录具有重要意义。新闻记录元数据(以下简称新闻 记录),特指列表页中新闻记录链接文本和新闻记录链接URL。

目前通过新闻网站列表页获取新闻记录通常有两种办法:一种是人工配 置列表页模板,用正则表达式匹配出新闻记录;一种是通过样例页面,自动 抽取出模板,然后再利用模板去匹配出新闻记录。上述方法一,耗费大量人 力,对用户知识要求高;上述方法二,必须离线学习出模板,然后再测试出 模板优劣才能使用。上述两种方法因为都需要事先准备好模板才能抽取新闻 记录,所以都容易经过一段时间后失去效用,抽取不出新闻记录,维护成本 较高。

发明内容

针对现有技术中存在的缺陷,本发明要解决的技术问题是提供一种从新 闻列表页抽取新闻记录元数据的方法及系统,使用户在不必考虑目标资讯网站 的列表页布局的情况下就能抽取出新闻记录。

为解决上述技术问题,本发明采用的技术方案如下:

一种从新闻列表页抽取新闻记录元数据的方法,包括以下步骤:

(1)获取目标新闻列表页的网页源代码,按照所述网页源代码对应的 HTML文本顺序生成HTML标签树;

(2)遍历所述HTML标签树,计算每个HTML标签子树的文本链接比 得分,将文本链接比得分大于设定阈值的标签子树进行合并,获取一棵最大 候选子树;

(3)从所述最大候选子树抽取新闻记录元数据列表。

一种从新闻列表页自动抽取新闻记录元数据的系统,包括:

生成装置,用于获取目标新闻列表页面的网页源代码,并按照所述网页 源代码对应的HTML文本顺序生成HTML标签树;

获取装置,用于遍历HTML标签树,并计算每个HTML标签子树的文 本链接比得分,将文本链接比得分大于设定阈值的标签子树进行合并,获取 一棵最大候选子树;

抽取装置,用于从最大候选子树中抽取新闻记录元数据列表。

本发明所述的方法及系统,在新闻列表页面形成的HTML文本中,按序 生成标签树,根据设定的文本链接比得分阈值,挑选出符合要求的标签子树, 并对这些标签子树进行合并,得到一棵最大候选标签子树;再对最大候选标 签子树进行剪枝,得到最精简的最大候选标签子树,然后对最大候选标签子 树的链接进行杂质链接过滤,再对剩余的链接两两计算距离,形成一个两两 链接互联的无向图,最后利用最小生成树kruskal算法,分割出目标新闻记录 链接。采用本发明,用户只需输入新闻列表页,无需配置模板,即可得到新 闻记录,完全实现了新闻资讯网站列表页新闻记录抽取的自动化、无人化。而 且用户无需关心新闻网站将来是否改版,极大地降低了维护和使用的成本。

附图说明

图1是具体实施方式中新闻列表页的布局示意图;

图2是具体实施方式中从新闻列表页抽取新闻记录的系统结构图;

图3是具体实施方式中从新闻列表页抽取新闻记录的方法流程图;

图4是具体实施方式中HTML标签树示意图;

图5是具体实施方式中最大候选子树获取过程流程图;

图6是具体实施方式中从最大候选子树抽取新闻记录的方法流程图。

具体实施方式

下面结合具体实施方式和附图对本发明进行详细描述。

新闻列表页的布局通常如图1所示,包括横幅模块、广告模块、新闻记 录列表模块、噪音栏目模块、版权声明模块等。本发明的目的便是从新闻列 表页中识别出新闻记录列表模块,并将该模块中的新闻记录抽取出来。新闻 记录列表具有以下三个特点:①新闻记录的链接对应的文本较长;②目标核 心链接较为集中;③在一个或几个DOM节点上目标链接的URL一般是相似 的。本发明便是根据新闻记录列表的上述特点而实现的解决方案。

图2示出了本实施方式中从新闻列表页抽取新闻记录的系统结构。如图 2所示,该系统包括生成装置21,与生成装置21连接的获取装置22,以及 与获取装置22连接的抽取装置23。

生成装置21用于获取目标新闻列表页面的网页源代码,并按照所述网页 源代码对应的HTML文本顺序生成HTML标签树。

获取装置22用于遍历HTML标签树,并计算每个HTML标签子树的文 本链接比得分,将文本链接比得分大于设定阈值的标签子树进行合并,获取 一棵最大候选子树。

抽取装置23用于从最大候选子树中抽取新闻记录元数据列表。

图3示出了采用图2所示系统从新闻列表页抽取新闻记录的方法流程。 如图3所示,该方法包括以下步骤:

(1)获取目标新闻列表页的网页源代码,按照所述网页源代码对应的 HTML文本顺序生成HTML标签树。所述HTML标签树是一个以标签html 为根节点的层次树,它是严格按HTML文本顺序来生成的。

较佳的,在生成HTML标签树之前,先对目标新闻列表页的网页源代码 进行过滤,除去噪音节点。所述噪音节点包括:head节点、注释节点、script 等脚本节点、input节点、form节点、select节点、textarea节点、style节点, 字体节点等。当然不仅仅限于上述节点,所有根据具体应用环境需要除去的 节点都属于噪音节点。

例如:新浪网站的某新闻列表页去除了噪音节点后的网页源代码如下:

<html xmlns=″http://www.w3.org/1999/xhtml″>

<body>

<div class=″secondaryHeader″>

     <div class=″sHBorder″>

          <div class=″sHLinks″><a href=″http://news.sina.com.cn/″>新闻首页</a>&nbsp;|&nbsp;<a

href=″http://www.sina.com.cn/″>新浪首页</a>&nbsp;|&nbsp;<a href=″http://news.sina.com.cn/guide/″>新浪导

航</a></div>

     </div>

</div>

     <div class=″Nav″style=″position:relative;″>

     <div class=″NavLink″id=″blk_lmdh_01″>

                 <a href=″http://www.sina.com.cn/″>首页</a>

          <a href=″http://news.sina.com.cn/china/″>国内</a>

          <a href=″htt://news.sina.com.cn/world/″>国际</a>

          <a href=″http://news.sina.com.cn/society/″>社会</a>

     </div>

     <div class=″NavSelect″>

          <h4 onclick=″OpenNavSelect();″>手机订阅</h4>

          <div id=″blk_sjdy_01″>

               <a href=″http://sms.sina.com.cn/docs/c/ttxw.html?from=403″target=″_blank″>头条短信</a>

               <a href=″http://sms.sina.com.cn/docs/c/yuleshehui.html?from=403″target=″_blank″>社会新闻

</a>

               <span class=″line″></span>

               <a href=″http://sms.sina.com.cn/docs/c/yuleshehui-zh.html?from=430″target=″_blank″>娱乐资讯

</a>

          </div>

      </div>

<div id=″Main″>

     <div class=″listBlk″>

          <ul class=″list_009″>

     <li><a href=″http://news.sina.com.cn/pc/2010-10-14/27/5750.html″target=″_blank″>图文播报:2010年度 十大法治人物评选启动仪式</a><span>(10月14日10:18)</span></li>

<li><a href=″http://news.sina.com.cn/c/2010-10-14/091621273505.shtml″target=″_blank″>上海白菜未受韩国 泡菜危机影响涨价</a><span>(10月14日09:16)</span></li>

<li><a href=″http://news.sina.com.cn/c/2010-10-14/083721273149.shtml″target=″_blank″>正直播长沙选拔市 管领导正职竞争大会</a><span>(10月14日08:37)</span></li>

<li><a href=″http://news.sina.com.cn/c/2010-10-14/082821272947.shtml″target=″_blank″>成都规定房企预售 款须银行监管按工程进度拨付</a><span>(10月14日08:28)</span></li>

<li><a href=″http://news.sina.com.cn/c/2010-10-14/082621272945.shtml″target=″_blank″>广西长洲水利枢纽 船闸施工受阻多名警察受伤</a><span>(10月14日08:26)</span></li>

<li><a href=″http://news.sina.com.cn/c/2010-10-14/082521272932.shtml″target=″_blank″>上海暂停用公积金 购买非改善型二套房</a><span>(10月14日08:25)</span></li>

                        <li><a   href=″http://news.sina.com.cn/c/2010-10-14/082221273232.shtml″

target=″_blank″>我国首例艾滋病就业歧视案最迟11月宣判</a><span>(10月14日08:22)</span></li>

<li><a href=″http://news.sina.com.cn/c/2010-10-14/080021272696_2.shtml″target=″_blank″>温州官方称当地 民间资本热钱化系媒体炒作</a><span>(10月14日08:00)</span></li>

        </ul>

    </div>

</div>

<div class=″footer″>

     <p><a href=″http://corp.sina.com.cn/chn/″class=″sinatail″>新浪简介</a>|

         <a href=″http://corp.sina.com.cn/chn/sina_job.html″class=″sinatail″>招聘信息</a>|

         <a href=″http://www.sina.com.cn/intro/lawfirm.shtml″class=″sinatail″>网站律师</a>|

     <p>Copyright<span class=″copyright″>&copy;</span>1996-2009 SINA Corporation,All Rights

Reserved</p>

     <p>新浪公司<a href=″http://www.sina.com.cn/intro/copyright.shtml″class=″sinatail″>版权所有</a></p>

</div>

</body>

</html>

按照上述网页源代码生成的HTML标签树如图4所示。

(2)遍历所述HTML标签树,计算每个HTML标签子树的文本链接比 得分,将文本链接比得分大于设定阈值的标签子树进行合并,获取一棵最大 候选子树。如图5所示,具体过程包括如下步骤:

a.后序遍历HTML标签树,同时计算每棵标签子树的文本链接比得分, 把大于设定阈值的子树归入候选子树中。所述文本链接比得分采用如下公式 计算:

文本链接比得分=0.4×(子树中所有链接文本的字符长度-链接个数 1)/子树中所有链接文本的字符长度+0.6×(子树中所有文本的字符长度- 链接个数2)/子树中所有文本的字符长度。

其中,链接个数1和链接个数2的区别在于:链接个数1为不包括文本 中链接的链接数量,链接2为包括文本中链接的链接数量。在标签子树中, 通常会包含链接和文本,文本中也可能包含链接,链接个数1便是不包含文 本中链接的链接数量。文本中的链接判定条件如下:①链接文本的字符长度/ 该文本的字符长度<0.2;②链接文本前后是纯文本,后面也是纯文本。同时 满足如上两个条件,则可判定为文本中的链接。

较佳的,所述阈值的取值范围在0.9~1.0之间。阈值越接近0.9,新闻记 录的召回率越高,即抽取的新闻记录越完整;阈值越接近1.0,新闻记录抽 取的准确率越高。本实施方式中阈值取0.9,当节点链接个数大于2时,可 以有100%的召回率。

b.当候选子树多于1棵时,对两棵候选子树进行合并。分以下两种情况 进行合并:①如果候选子树SubTreeA和候选子树SubTreeB有属于关系,即 SubTreeA是SubTreeB的子树,则在候选子树中除去SubTreeA,保留 SubTreeB;②如果候选子树SubTreeA和候选子树SubTreeB分处不同子树, 则遍历两子树的祖先节点,直至找到共同祖先节点为止,然后把以共同祖先 节点为根节点的子树作为候选子树,把其他两棵子树除去。遍历完整棵树得 到的候选子树即为最大候选子树。

较佳的,获取到最大候选子树后,层次遍历最大候选子树,记录每个链 接节点的层次路径。链接节点的层次路径可以进行如下设置:将最大候选子 树的根节点视为0,其下每一层节点从左至右依序标记数字1、2、3等;将 从根节点到该节点的父结点之间的路径作为该节点的层次路径。可以将层次 路径对应的标记数字按照遍历顺序依次存入数组中,数组的下标和层次一一 对应。例如,一个节点的层次路径为0、1、4、9,另一个节点的层次路径为 0、1、4、12。

(3)从最大候选子树抽取新闻记录元数据列表。如图6所示,具体过程 包括以下步骤:

a.获取最大候选子树的所有链接及其文本。

b.根据设定的规则过滤掉杂质链接。本实施方式中,杂质链接包括导航 链接和链接文本字符长度小于10的链接。

c.计算两两链接之间的距离。所述两两链接之间的距离是指两两链接的 相似程度,具体的计算方法如下:

首先通过设定的符号对链接进行分割,分割出子字符串;然后计算两个 链接相同位置的对应子字符串的距离,将子字符串距离进行累加,将累加结 果作为两两链接之间的距离。子字符串距离的计算规则为:相同为0,相似 (前几个字符完全相同,一般为5个字符)为1,同样的模式(如英文字母+ 数字)为2,其余情况为5。

例如,计算如下两个链接的距离。

链接1:http://news.163.com/10/0915/02/6GJBK5PR00011229.html。

链接2:http://news.163.com/10/0914/08/6GHDR0G000011229.html。

先用“:”、“/”和“.”对两个链接进行分割,分割出子字符串。

链接1的子字符串如下:http、news、163、com、10、0915、02、 6GJBK5PR00011229、html。

链接2的子字符串如下:http、news、163、com、10、0914、08、 6GHDR0G000011229、html。

然后分别计算各个对应子字符串的距离,进行累加,其结果即为链接1 和链接2的距离:0+0+0+0+0+1+1+1+0=3。

d.生成两两链接互联的无向图,所述无向图的顶点为链接,边为两两链 接的距离。

e.利用最小生成树kruskal算法对无向图进行分割,分割出新闻记录链 接列表,进而得到新闻记录元数据列表。

例如:新闻记录链接列表如下:

http://news.163.com/10/1014/06/6IUGSEST00014JB6.html;

http://news.163.com/10/1013/14/6ISP9VBG0001124J.html;

http://news.163.com/10/1013/11/6ISF90BQ00014JB6.html;

http://news.163.com/10/1013/07/6IS0PLQB0001121M.html;

http://news.163.com/10/1013/07/6IS05BI600014JB6.html;

http://news.163.com/10/1013/08/6IS3BUSN00014JB5.html;

http://news.163.com/10/1012/20/6IQQ63GI0001124J.html;

http://news.163.com/10/1012/17/6IQGKKG20001124J.html;

从上述新闻记录链接列表获得的新闻记录元数据列表如下:

http://news.163.com/10/1014/06/6IUGSEST00014JB6.html;哈尔滨规定重大突发事件不及时发布将问

http://news.163.com/10/1013/14/6ISP9VBG0001124J.html;文化部网游主管部门称未说禁止偷菜游戏

http://news.163.com/10/1013/11/6ISF90BQ00014JB6.html;国土部通报四川简阳市政府违法批地等5

http://news.163.com/10/1013/07/6IS0PLQB0001121M.html;首届东盟防长扩大会议闭幕 南海问题未

http://news.163.com/10/1013/07/6IS05BI600014JB6.html;外交部就菲律宾人质事件、中日关系等答

http://news.163.com/10/1013/08/6IS3BUSN00014JB5.html;中国5年内将投入数千亿解决防洪体系薄

http://news.163.com/10/1012/20/6IQQ63GI0001124J.html;西北地区警务协作机制建立 涉及情报共

http://news.163.com/10/1012/17/6IQGKKG20001124J.html;最高检发文规范检察官行为 要求慎重社

较佳的,如果分割出的新闻记录链接数大于50,对分割出的链接再次生 成两两互联的无向图,无向图的顶点为链接,边为两两链接的层次路径之间 的距离;再利用最小生成树kruskal算法对无向图进行分割,分割出新闻记录 链接列表,进而得到新闻记录元数据列表。层次路径之间的距离的计算方法 为:从左至右,顺次比较两个层次路径相同位置上的字符;如果相同,则继 续比较下一个,如果不同,终止比较;距离为字符不同时该字符的位置序号, 即相同字符的个数。例如:层次路径1为0、1、4、9,层次路径2为0、1、 4、12,其距离为3。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本 发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要 求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号