CN108874934A - 页面正文提取方法和装置 - Google Patents
页面正文提取方法和装置 Download PDFInfo
- Publication number
- CN108874934A CN108874934A CN201810554392.4A CN201810554392A CN108874934A CN 108874934 A CN108874934 A CN 108874934A CN 201810554392 A CN201810554392 A CN 201810554392A CN 108874934 A CN108874934 A CN 108874934A
- Authority
- CN
- China
- Prior art keywords
- node
- page
- processed
- tree
- weighted value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提出一种页面正文提取方法和装置,其中,方法包括:根据待处理页面的超文本标记语言代码,确定待处理页面对应的节点树,其中,节点树中的各节点分别为待处理页面中的各页面标签;根据预设的页面标签与权重值映射关系表,确定节点树中各节点对应的初始权重值;根据节点树中各节点间的关系及各节点对应的初始权重值,由末端子节点至根节点,依次更新各父节点的权重值;根据节点树中各节点更新后的权重值,确定待处理页面中的正文节点;根据正文节点,获取页面中的正文。该方法能够提升提取的页面正文的准确性,提升该页面提取方法的适用性,以及提升页面正文的提取效率。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种页面正文提取方法和装置。
背景技术
随着互联网技术的不断发展,网页已经成为人们获取信息的主要来源,而对于网页,往往最有价值的部分是页面正文。然而,对于多数网站的网页而言,其页面不仅包含正文,还包含大量无效的噪声信息,例如广告、头部导航链接、尾部版权信息、插件等,因此,如何对无效噪声信息进行过滤,从而提取出用户感兴趣的正文内容十分重要。
现有技术中,在获取网页正文时,通常是根据网页标签中的内容长度,确定长度最长的标签,进而将长度最长的标签作为正文标签。
但是这种方式,适用的网页类型有限,且长度最长的标签不一定为正文标签,导致提取的正文的准确性较低。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请提出的一种页面正文提取方法和装置,通过基于预设的页面标签与权重值映射关系表,确定正文节点,操作简单且易于实现。并且,不依赖于待处理页面中标签的内容长度,从而可以提升提取的页面正文的准确性。此外,由于无需针对所有的页面去编写抓取规则来提取正文内容,可以提升该页面提取方法的适用性,以及提升页面正文的提取效率。
本申请第一方面实施例提出了一种页面正文提取方法,包括:
根据待处理页面的超文本标记语言代码,确定所述待处理页面对应的节点树,其中,所述节点树中的各节点分别为所述待处理页面中的各页面标签;
根据预设的页面标签与权重值映射关系表,确定所述节点树中各节点对应的初始权重值;
根据所述节点树中各节点间的关系及各节点对应的初始权重值,由末端子节点至根节点,依次更新各父节点的权重值;
根据所述节点树中各节点更新后的权重值,确定所述待处理页面中的正文节点;
根据所述正文节点,获取所述页面中的正文。
本申请实施例的页面正文提取方法,通过根据待处理页面的超文本标记语言代码,确定待处理页面对应的节点树,其中,节点树中的各节点分别为待处理页面中的各页面标签,而后根据预设的页面标签与权重值映射关系表,确定节点树中各节点对应的初始权重值,接着根据节点树中各节点间的关系及各节点对应的初始权重值,由末端子节点至根节点,依次更新各父节点的权重值,最后根据节点树中各节点更新后的权重值,确定待处理页面中的正文节点,根据正文节点,获取页面中的正文。本申请中,通过基于预设的页面标签与权重值映射关系表,确定正文节点,操作简单且易于实现。并且,不依赖于待处理页面中标签的内容长度,从而可以提升提取的页面正文的准确性。此外,由于无需针对所有的页面去编写抓取规则来提取正文内容,可以提升该页面提取方法的适用性,以及提升页面正文的提取效率。
本申请第二方面实施例提出了一种页面正文提取装置,包括:
第一确定模块,用于根据待处理页面的超文本标记语言代码,确定所述待处理页面对应的节点树,其中,所述节点树中的各节点分别为所述待处理页面中的各页面标签;
第二确定模块,用于根据预设的页面标签与权重值映射关系表,确定所述节点树中各节点对应的初始权重值;
更新模块,用于根据所述节点树中各节点间的关系及各节点对应的初始权重值,由末端子节点至根节点,依次更新各父节点的权重值;
第三确定模块,用于根据所述节点树中各节点更新后的权重值,确定所述待处理页面中的正文节点;
获取模块,用于根据所述正文节点,获取所述页面中的正文。
本申请实施例的页面正文提取装置,通过根据待处理页面的超文本标记语言代码,确定待处理页面对应的节点树,其中,节点树中的各节点分别为待处理页面中的各页面标签,而后根据预设的页面标签与权重值映射关系表,确定节点树中各节点对应的初始权重值,接着根据节点树中各节点间的关系及各节点对应的初始权重值,由末端子节点至根节点,依次更新各父节点的权重值,最后根据节点树中各节点更新后的权重值,确定待处理页面中的正文节点,根据正文节点,获取页面中的正文。本申请中,通过基于预设的页面标签与权重值映射关系表,确定正文节点,操作简单且易于实现。并且,不依赖于待处理页面中标签的内容长度,从而可以提升提取的页面正文的准确性。此外,由于无需针对所有的页面去编写抓取规则来提取正文内容,可以提升该页面提取方法的适用性,以及提升页面正文的提取效率。
本申请第三方面实施例提出了一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如本申请第一方面实施例提出的页面正文提取方法。
本申请第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如本申请第一方面实施例提出的页面正文提取方法。
本申请第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如本申请第一方面实施例提出的页面正文提取方法。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例一所提供的页面正文提取方法的流程示意图;
图2为本申请实施例中节点树示意图;
图3为本申请实施例中节点树中各节点的权重值示意图;
图4为本申请实施例二所提供的页面正文提取方法的流程示意图;
图5为本申请实施例三所提供的页面正文提取方法的流程示意图;
图6为本申请实施例四所提供的页面正文提取装置的结构示意图;
图7为本申请实施例五所提供的页面正文提取装置的结构示意图;
图8示出了适于用来实现本申请实施方式的示例性计算机设备的框图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
本申请主要针对现有技术中基于网页标签中的内容长度,确定正文标签,适用的网页类型有限,且提取的正文的准确性较低的技术问题,提出一种页面正文提取方法。
本申请实施例的页面正文提取方法,通过根据待处理页面的超文本标记语言代码,确定待处理页面对应的节点树,其中,节点树中的各节点分别为待处理页面中的各页面标签,而后根据预设的页面标签与权重值映射关系表,确定节点树中各节点对应的初始权重值,接着根据节点树中各节点间的关系及各节点对应的初始权重值,由末端子节点至根节点,依次更新各父节点的权重值,最后根据节点树中各节点更新后的权重值,确定待处理页面中的正文节点,根据正文节点,获取页面中的正文。本申请中,通过基于预设的页面标签与权重值映射关系表,确定正文节点,操作简单且易于实现。并且,不依赖于待处理页面中标签的内容长度,从而可以提升提取的页面正文的准确性。此外,由于无需针对所有的页面去编写抓取规则来提取正文内容,可以提升该页面提取方法的适用性,以及提升页面正文的提取效率。
下面参考附图描述本申请实施例的页面正文提取方法和装置。
图1为本申请实施例一所提供的页面正文提取方法的流程示意图。
本申请实施例提供的页面正文提取方法,可以由本申请提供的页面正文提取装置实现,该页面正文提取装置可以被配置在计算机设备中,以使该计算机设备可以实现页面正文提取功能。
如图1所示,该页面正文提取方法可以包括以下步骤:
步骤101,根据待处理页面的超文本标记语言代码,确定待处理页面对应的节点树,其中,节点树中的各节点分别为待处理页面中的各页面标签。
其中,待处理页面为需要对其进行页面正文提取的页面。
需要说明的是,页面主要是采用超文本标记语言(HyperText Markup language,简称HTML)来编写的,HTML代码由一系列元素组成,用于组织页面的内容和输出格式,其中,每个元素可以具有多个属性,且每个元素可以由标记(tag)构成,分起始标记<>(starttag)和结尾标记</>(end tag),从而可以和页面的内容区分开来。
因此,本申请中,可以根据待处理页面的HTML代码的每个元素以及元素的属性,确定待处理页面对应的节点树,例如,该节点树可以为基于文档对象模型(Document ObjectModel,简称DOM)树,或者为其他,对此不作限制。
其中,节点树中的各节点分别为待处理页面中的各页面标签,例如为换行(break,简称br)标签、段落(Paragraph,简称P)标签、不排序列表(unordered list,简称ul)标签、列表(list item,简称li)标签、链接标签、body标签等等。
步骤102,根据预设的页面标签与权重值映射关系表,确定节点树中各节点对应的初始权重值。
本申请实施例中,预设的页面标签与权重值映射关系表为预先设置的。
作为本申请一种可能的实现方式,可以通过对页面数据库中各页面的HTML进行解析,确定页面标签与权重值映射关系表。其中,该页面数据库中包括大量的页面,且各页面中的标签对应内容类型已知。
本申请实施例中,可以首先为页面中各标签设置初始权重值,进而根据初始权重值,对页面数据库中各页面进行统计分析,来确定此时页面中页面正文最终对应的权重值,进而根据预设的页面正文权重值的期望值,对各标签的初始权重值进行修正,直至最终得到的页面正文的权重值为期望值。举例而言,若首先为已知为非页面正文的“上一篇”标签设置初始权重值为-1,为“下一篇”标签设置初始权重值为-1,为“版权所有”标签设置初始权重值为-2,为“版权符(Copyright)标签”设置初始权重值为-3等。同时,为页面正文中的br标签设置的初始权重值为10、为P标签设置的初始权重值为15,为文字长度大于阈值个数的标签设置的权重值为+1,为逗号设置的权重值为+0.5,为句号设置的权重值为+0.5等。
进而根据上述各标签对应的初始值,即可对页面数据库中各页面进行分析,以确定各页面中正文最终对应的权重值是否为预设值,比如是否为最大值,或者是否为最小值,若不是,则可以调整各标签对应的初始权重值,直至最终页面数据库中各页面根据调整后的各标签对应的初始权重值进行解析时,其页面正文最终对应的权重值为极大值或者极小值。从而即可确定页面中标签与权重值映射关系表。
需要说明的是,对于不同类型的页面,正文所在的位置可以不同,并且HTML的结构也可能不同,对于爬虫而言,抓取的页面也是不同的,而实际应用时,不可能针对所有类型的页面去编写抓取规则来提取正文内容,因此,需要一种通用的算法,将页面正文提取出来,提高页面正文的提取效率。
因此,本申请实施例中,针对不同类型的页面,由于正文所在的位置可以不同,并且HTML的结构也可能不同,也就是说,不同类型的页面,各标签的位置、数量以及种类可能不同,例如,类型1的页面,具有8个标签,而类型2的页面,具有10个标签,因此,对应的页面标签与权重值映射关系表可以不同。
因此,作为本申请另一种可能的实现方式,可以根据待处理页面对应的节点树中各页面标签的类型,确定待处理页面对应的映射关系表。
或者,由于相同的统一资源定位符(Uniform Resource Locator,简称URL)对应的页面中的标签类型相同,因此,本申请实施例中,还可以根据待处理页面的URL,确定待处理页面对应的映射关系表。
本申请实施例中,在确定预设的页面标签与权重值映射关系表后,可以根据预设的页面标签与权重值映射关系表,确定节点树中各节点对应的初始权重值。具体地,针对节点树中的每个节点,可以查询该节点是否在预设的页面标签与权重值映射关系表中,若该节点在映射关系表中,则根据映射关系表,确定该节点对应的权重值,作为该节点对应的初始权重值。
步骤103,根据节点树中各节点间的关系及各节点对应的初始权重值,由末端子节点至根节点,依次更新各父节点的权重值。
本申请实施例中,在确定节点树中各节点对应的初始权重值后,可以根据节点树中各节点间的关系以及各节点对应的初始权重值,由末端子节点至根节点,依次更新各父节点的权重值。具体地,针对各个父节点,可以将该父节点下所有的子节点对应的初始权重值进行累加,得到该父节点的权重值。
作为一种示例,参见图2,图2为本申请实施例中节点树示意图。其中,假设节点10、节点11、节点12对应的初始权重值分别为:3、4、5,对于父节点:节点6,可以将节点6下的子节点:节点10、节点11以及节点12对应的初始权重值进行累加,得到节点6对应的权重值,即节点6的权重值为:3+4+5=12。
需要说明的是,在实际使用时,若节点6也有初始权重值,则根据节点6的各子节点,对节点6的权重值进行更新时,可以将节点10、节点11及节点12对应的初始权重值累加后,再与节点6的初始权重值进行累加,以确定节点6最终的权重值。
步骤104,根据节点树中各节点更新后的权重值,确定待处理页面中的正文节点。
具体地,若预设的页面标签与权重值映射关系表中各噪声标签对应的初始权重值为负值,与页面正文相关的标签的初始权重值为正值,则可以将节点树中,权重值最大的节点,作为待处理页面中的正文节点。
或者,若预设的页面标签与权重值映射关系表中各噪声标签对应的初始权重值为正值,与页面正文相关的标签的初始权重值为负值,则可以将节点树中,权重值最小节点,作为待处理页面中的正文节点。
本申请以下各实施例中,以节点树中权重值最大的节点为正文节点为例进行详细说明。
在本申请一种可能的实现形式中,当节点树中包括至少两个更新后的权重值最大的节点时,通常情况下,正文节点位于节点树的中间位置,因此,可以根据至少两个更新后的权重值最大的节点在节点树中的位置、和/或至少两个更新后的权重值最大的节点的初始权重值,确定待处理页面中的正文节点。
举例而言,参见图2,假设节点5和节点6的权重值相等,且为节点树中权重值最大的节点,由于节点5和节点6均处于节点树的中间位置,则可以继续根据节点5和节点6的初始权重值,确定待处理页面中的正文节点。假设,节点5的初始权重值为12,而节点6的初始权重值为7,则可以将节点5作为待处理页面中的正文节点。
步骤105,根据正文节点,获取页面中的正文。
本申请实施例中,在确定正文节点后,可以将正文节点包含的文本内容,作为待处理页面的正文进行提取,即正文节点的文本内容为需要提取的页面中的正文。
作为一种示例,参见图3,图3为本申请实施例中节点树中各节点的权重值示意图。如图3所示,节点1为body,其权重值为73;节点1.1为头部bar,其权重值为6;节点1.2为正文节点,其权重值为109;节点1.3为右侧广告,其权重值为-54;节点1.4为底部bar,其权重值为12。也就是说,正文节点为权重值最大的节点:节点1.2。
本申请实施例的页面正文提取方法,通过根据待处理页面的超文本标记语言代码,确定待处理页面对应的节点树,其中,节点树中的各节点分别为待处理页面中的各页面标签,而后根据预设的页面标签与权重值映射关系表,确定节点树中各节点对应的初始权重值,接着根据节点树中各节点间的关系及各节点对应的初始权重值,由末端子节点至根节点,依次更新各父节点的权重值,最后根据节点树中各节点更新后的权重值,确定待处理页面中的正文节点,根据正文节点,获取页面中的正文。本申请中,通过基于预设的页面标签与权重值映射关系表,确定正文节点,操作简单且易于实现。并且,不依赖于待处理页面中标签的内容长度,从而可以提升提取的页面正文的准确性。此外,由于无需针对所有的页面去编写抓取规则来提取正文内容,可以提升该页面提取方法的适用性,以及提升页面正文的提取效率。
作为一种可能的实现方式,在确定待处理页面对应的节点树之后,还可以对待处理页面内联的元素样式标签、属性标签及脚本标签进行删除,从而降低干扰,使得删除后的节点树中的节点只包含文本内容。下面结合图4,对上述过程进行详细说明。
图4为本申请实施例二所提供的页面正文提取方法的流程示意图。
如图4所示,该页面正文提取方法可以包括以下步骤:
步骤201,根据待处理页面的超文本标记语言代码,确定待处理页面对应的节点树。
其中,节点树中的各节点分别为待处理页面中的各页面标签。
步骤202,删除节点树中的元素样式标签、属性标签及脚本标签,以得到待处理页面对应的目标节点树。
本申请实施例中,删除节点树中的元素样式(style)标签、属性标签及脚本(script)标签,得到待处理页面对应的目标节点树,可以降低干扰,从而可以避免提取页面中的非文本内容,进而提升页面正文文本提取的准确度。
步骤203,根据预设的页面标签与权重值映射关系表,确定目标节点树中各节点对应的初始权重值。
步骤204,根据目标节点树中各节点间的关系及各节点对应的初始权重值,由末端子节点至根节点,依次更新各父节点的权重值。
步骤205,根据目标节点树中各节点更新后的权重值,确定待处理页面中的正文节点。
步骤206,根据正文节点,获取页面中的正文。
上述本申请实施例中的技术方案,相较于上一实施例,至少还具有如下进一步地技术效果或优点:通过删除节点树中的元素样式标签、属性标签及脚本标签,以得到待处理页面对应的目标节点树,可以降低干扰,从而可以避免提取页面中的非文本内容,进而提升页面文本提取的准确度。
作为一种可能的实现方式,参见图5,在图1和图4所示实施例的基础上,步骤102或者步骤203具体可以包括以下子步骤:
步骤301,根据预设的页面标签与权重值映射关系表,确定节点树中各节点是否在映射关系表中。
本申请实施例中,可以根据预设的页面标签与权重值映射关系表,确定节点树中各节点是否在映射关系表中。具体地,可以遍历映射关系表,确定节点树中各节点是否在映射关系表中,若是,执行步骤302,否则,执行步骤303。
步骤302,若第一节点在映射关系表中,则根据映射关系表,确定第一节点的初始权重值。
本申请实施例中,当第一节点在映射关系表中时,可以根据映射关系表,确定该第一节点对应的权重值,作为该第一节点对应的初始权重值。
步骤303,若第二节点未在映射关系表中,则根据与第二节点关联的其它各节点分别对应的初始权重值,确定第二节点对应的初始权重值,其中,第二节点对应的初始权重值与各关联节点的初始权重值的差值小于阈值。
需要说明的是,当两个节点相关联时,例如节点A和节点B相关联,则节点A和节点B的各个属性在文本上具有相似性,因此节点A和节点B的初始权重值的差值应小于阈值。其中,阈值可以为预先设置的,应当理解的是,阈值不应设置的过大。
因此,本申请中,当第二节点未在映射关系表中,则可以根据与第二节点关联的其它各节点分别对应的初始权重值,确定第二节点对应的初始权重值,其中,第二节点对应的初始权重值与各关联节点的初始权重值的差值小于阈值。
进一步地,在确定第二节点对应的初始权重值之后,还可以根据第二节点及第二节点对应的初始权重值,更新预设的页面标签与权重值映射关系表,以实现对映射关系表的动态维护和补充,从而提升页面正文提取的准确性。
本申请实施例中,在对映射关系表进行更新后,则步骤104或者步骤205具体包括:确定更新后的权重值最大的节点为待处理页面中的正文节点。当节点树中包括至少两个更新后的权重值最大的节点时,由于一般情况下,正文节点位于节点树的中间位置,因此,可以根据至少两个更新后的权重值最大的节点在节点树中的位置、和/或至少两个更新后的权重值最大的节点的初始权重值,确定待处理页面中的正文节点。
为了实现上述实施例,本申请还提出一种页面正文提取装置。
图6为本申请实施例四所提供的页面正文提取装置的结构示意图。
如图6所示,该页面正文提取装置100包括:第一确定模块101、第二确定模块102、第一更新模块103、第三确定模块104,以及获取模块105。其中,
第一确定模块101,用于根据待处理页面的超文本标记语言代码,确定待处理页面对应的节点树,其中,节点树中的各节点分别为待处理页面中的各页面标签。
第二确定模块102,用于根据预设的页面标签与权重值映射关系表,确定节点树中各节点对应的初始权重值。
第一更新模块103,用于根据节点树中各节点间的关系及各节点对应的初始权重值,由末端子节点至根节点,依次更新各父节点的权重值。
第三确定模块104,用于根据节点树中各节点更新后的权重值,确定待处理页面中的正文节点。
获取模块105,用于根据正文节点,获取页面中的正文。
进一步地,在本申请实施例的一种可能的实现方式中,参见图7,在图6所示实施例的基础上,该页面正文提取装置100还可以包括:
第四确定模块106,用于在根据预设的页面标签与权重值映射关系表,确定节点树中各节点对应的初始权重值之前,对页面数据库中各页面的超文本标记语言进行解析,确定预设的页面标签与权重值映射关系表,其中,页面数据库各页面中的标签对应内容类型已知。
第五确定模块107,用于在根据预设的页面标签与权重值映射关系表,确定节点树中各节点对应的初始权重值之前,根据待处理页面对应的节点树中各页面标签的类型,确定待处理页面对应的映射关系表;或者,根据待处理页面的类型,确定待处理页面对应的映射关系表。
删除模块108,用于在根据待处理页面的超文本标记语言代码,确定待处理页面对应的节点树之后,删除节点树中的元素样式标签、属性标签及脚本标签,以得到待处理页面对应的目标节点树。
第二确定模块102,具体用于确定目标节点树中各节点对应的初始权重值。
作为一种可能的实现方式,第二确定模块102,具体用于根据预设的页面标签与权重值映射关系表,确定节点树中各节点是否在映射关系表中;若第一节点在映射关系表中,则根据映射关系表,确定第一节点的初始权重值;若第二节点未在映射关系表中,则根据与第二节点关联的其它各节点分别对应的初始权重值,确定第二节点对应的初始权重值,其中,第二节点对应的初始权重值与各关联节点的初始权重值的差值小于阈值。
第二更新模块109,用于在根据与第二节点关联的其它各节点分别对应的初始权重值,确定第二节点对应的初始权重值之后,根据第二节点及第二节点对应的初始权重值,更新预设的页面标签与权重值映射关系表。
第三确定模块104,具体用于确定更新后的权重值最大的节点为待处理页面中的正文节点。
作为一种可能的实现方式,当节点树中包括至少两个更新后的权重值最大的节点时,第三确定模块104,具体用于根据至少两个更新后的权重值最大的节点在节点树中的位置、和/或至少两个更新后的权重值最大的节点的初始权重值,确定待处理页面中的正文节点。
需要说明的是,前述对页面正文提取方法实施例的解释说明也适用于该实施例的页面正文提取装置100,此处不再赘述。
本申请实施例的页面正文提取装置,通过根据待处理页面的超文本标记语言代码,确定待处理页面对应的节点树,其中,节点树中的各节点分别为待处理页面中的各页面标签,而后根据预设的页面标签与权重值映射关系表,确定节点树中各节点对应的初始权重值,接着根据节点树中各节点间的关系及各节点对应的初始权重值,由末端子节点至根节点,依次更新各父节点的权重值,最后根据节点树中各节点更新后的权重值,确定待处理页面中的正文节点,根据正文节点,获取页面中的正文。本申请中,通过基于预设的页面标签与权重值映射关系表,确定正文节点,操作简单且易于实现。并且,不依赖于待处理页面中标签的内容长度,从而可以提升提取的页面正文的准确性。此外,由于无需针对所有的页面去编写抓取规则来提取正文内容,可以提升该页面提取方法的适用性,以及提升页面正文的提取效率。
为了实现上述实施例,本申请还提出一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如本申请前述实施例提出的页面正文提取方法。
为了实现上述实施例,本申请还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如本申请前述实施例提出的页面正文提取方法。
为了实现上述实施例,本申请还提出一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如本申请前述实施例提出的页面正文提取方法。
图8示出了适于用来实现本申请实施方式的示例性计算机设备的框图。图8显示的计算机设备12仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,***存储器28,连接不同***组件(包括***存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及***组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
计算机设备12典型地包括多种计算机***可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***34可以用于读写不可移动的、非易失性磁介质(图8未显示,通常称为“硬盘驱动器”)。尽管图8中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read OnlyMemory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read OnlyMemory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local Area Network;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信。如8图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图8中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理单元16通过运行存储在***存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的页面正文提取方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (12)
1.一种页面正文提取方法,其特征在于,包括:
根据待处理页面的超文本标记语言代码,确定所述待处理页面对应的节点树,其中,所述节点树中的各节点分别为所述待处理页面中的各页面标签;
根据预设的页面标签与权重值映射关系表,确定所述节点树中各节点对应的初始权重值;
根据所述节点树中各节点间的关系及各节点对应的初始权重值,由末端子节点至根节点,依次更新各父节点的权重值;
根据所述节点树中各节点更新后的权重值,确定所述待处理页面中的正文节点;
根据所述正文节点,获取所述页面中的正文。
2.如权利要求1所述的方法,其特征在于,所述根据预设的页面标签与权重值映射关系表,确定所述节点树中各节点对应的初始权重值之前,还包括:
对页面数据库中各页面的超文本标记语言进行解析,确定所述预设的页面标签与权重值映射关系表,其中,所述页面数据库各页面中的标签对应内容类型已知。
3.如权利要求1所述的方法,其特征在于,所述根据预设的页面标签与权重值映射关系表,确定所述节点树中各节点对应的初始权重值之前,还包括:
根据所述待处理页面对应的节点树中各页面标签的类型,确定所述待处理页面对应的映射关系表;
或者,
根据所述待处理页面的统一资源定位符,确定所述待处理页面对应的映射关系表。
4.如权利要求1所述的方法,其特征在于,所述根据待处理页面的超文本标记语言代码,确定所述待处理页面对应的节点树之后,还包括:
删除所述节点树中的元素样式标签、属性标签及脚本标签,以得到所述待处理页面对应的目标节点树;
所述确定所述节点树中各节点对应的初始权重值,包括:
确定所述目标节点树中各节点对应的初始权重值。
5.如权利要求1-4任一所述的方法,其特征在于,所述根据预设的页面标签及权重值,确定所述节点树中各节点对应的初始权重值,包括:
根据所述预设的页面标签与权重值映射关系表,确定所述节点树中各节点是否在所述映射关系表中;
若第一节点在所述映射关系表中,则根据所述映射关系表,确定所述第一节点的初始权重值;
若第二节点未在所述映射关系表中,则根据与所述第二节点关联的其它各节点分别对应的初始权重值,确定所述第二节点对应的初始权重值,其中,所述第二节点对应的初始权重值与各关联节点的初始权重值的差值小于阈值。
6.如权利要求5所述的方法,其特征在于,所述根据与所述第二节点关联的其它各节点分别对应的初始权重值,确定所述第二节点对应的初始权重值之后,还包括:
根据所述第二节点及所述第二节点对应的初始权重值,更新所述预设的页面标签与权重值映射关系表。
7.如权利要求5所述的方法,其特征在于,所述根据所述节点树中各节点更新后的权重值,确定所述待处理页面中的正文节点,包括:
确定更新后的权重值最大的节点为所述待处理页面中的正文节点。
8.如权利要求7所述的方法,其特征在于,所述节点树中包括至少两个更新后的权重值最大的节点;
所述根据所述节点树中各节点更新后的权重值,确定所述待处理页面中的正文节点,包括:
根据所述至少两个更新后的权重值最大的节点在所述节点树中的位置、和/或所述至少两个更新后的权重值最大的节点的初始权重值,确定所述待处理页面中的正文节点。
9.一种页面正文提取装置,其特征在于,包括:
第一确定模块,用于根据待处理页面的超文本标记语言代码,确定所述待处理页面对应的节点树,其中,所述节点树中的各节点分别为所述待处理页面中的各页面标签;
第二确定模块,用于根据预设的页面标签与权重值映射关系表,确定所述节点树中各节点对应的初始权重值;
更新模块,用于根据所述节点树中各节点间的关系及各节点对应的初始权重值,由末端子节点至根节点,依次更新各父节点的权重值;
第三确定模块,用于根据所述节点树中各节点更新后的权重值,确定所述待处理页面中的正文节点;
获取模块,用于根据所述正文节点,获取所述页面中的正文。
10.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如权利要求1-8中任一所述的页面正文提取方法。
11.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的页面正文提取方法。
12.一种计算机程序产品,其特征在于,当所述计算机程序产品中的指令由处理器执行时,执行如权利要求1-8中任一所述的页面正文提取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810554392.4A CN108874934B (zh) | 2018-06-01 | 2018-06-01 | 页面正文提取方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810554392.4A CN108874934B (zh) | 2018-06-01 | 2018-06-01 | 页面正文提取方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108874934A true CN108874934A (zh) | 2018-11-23 |
CN108874934B CN108874934B (zh) | 2021-11-30 |
Family
ID=64336850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810554392.4A Active CN108874934B (zh) | 2018-06-01 | 2018-06-01 | 页面正文提取方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108874934B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109710864A (zh) * | 2018-11-29 | 2019-05-03 | 北京字节跳动网络技术有限公司 | 页面内容划分方法、装置、可读存储介质及电子设备 |
CN109726338A (zh) * | 2018-11-29 | 2019-05-07 | 北京字节跳动网络技术有限公司 | 页面体裁划分方法、装置、可读存储介质及电子设备 |
CN110516174A (zh) * | 2019-08-29 | 2019-11-29 | 百度在线网络技术(北京)有限公司 | 基于简易信息聚合获取正文的方法、装置及存储介质 |
CN111209442A (zh) * | 2019-12-31 | 2020-05-29 | 东软集团股份有限公司 | 一种图数据的显示方法、装置、存储介质及设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1890243A2 (en) * | 2004-11-22 | 2008-02-20 | AT&T Corp. | Adaptive processing of top-k queries in nested structure arbitrary markup language such as XML |
CN102591931A (zh) * | 2011-12-23 | 2012-07-18 | 浙江大学 | 基于树权值的网页数据记录识别和抽取方法 |
CN102915361A (zh) * | 2012-10-18 | 2013-02-06 | 北京理工大学 | 一种基于文字分布特征的网页正文提取方法 |
CN103020156A (zh) * | 2012-11-23 | 2013-04-03 | 北京小米科技有限责任公司 | 一种针对网页的处理方法、装置和设备 |
CN103389972A (zh) * | 2013-07-26 | 2013-11-13 | Tcl集团股份有限公司 | 一种基于简易信息聚合获取正文的方法及装置 |
CN104268192A (zh) * | 2014-09-20 | 2015-01-07 | 广州金山网络科技有限公司 | 一种网页信息提取方法、装置及终端 |
CN104484449A (zh) * | 2014-12-25 | 2015-04-01 | 北京国双科技有限公司 | 网页页面的正文提取方法和装置 |
CN106095854A (zh) * | 2016-06-02 | 2016-11-09 | 腾讯科技(深圳)有限公司 | 一种确定信息块的位置信息的方法及装置 |
CN107229668A (zh) * | 2017-03-07 | 2017-10-03 | 桂林电子科技大学 | 一种基于关键词匹配的正文抽取方法 |
-
2018
- 2018-06-01 CN CN201810554392.4A patent/CN108874934B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1890243A2 (en) * | 2004-11-22 | 2008-02-20 | AT&T Corp. | Adaptive processing of top-k queries in nested structure arbitrary markup language such as XML |
CN102591931A (zh) * | 2011-12-23 | 2012-07-18 | 浙江大学 | 基于树权值的网页数据记录识别和抽取方法 |
CN102915361A (zh) * | 2012-10-18 | 2013-02-06 | 北京理工大学 | 一种基于文字分布特征的网页正文提取方法 |
CN103020156A (zh) * | 2012-11-23 | 2013-04-03 | 北京小米科技有限责任公司 | 一种针对网页的处理方法、装置和设备 |
CN103389972A (zh) * | 2013-07-26 | 2013-11-13 | Tcl集团股份有限公司 | 一种基于简易信息聚合获取正文的方法及装置 |
CN104268192A (zh) * | 2014-09-20 | 2015-01-07 | 广州金山网络科技有限公司 | 一种网页信息提取方法、装置及终端 |
CN104484449A (zh) * | 2014-12-25 | 2015-04-01 | 北京国双科技有限公司 | 网页页面的正文提取方法和装置 |
CN106095854A (zh) * | 2016-06-02 | 2016-11-09 | 腾讯科技(深圳)有限公司 | 一种确定信息块的位置信息的方法及装置 |
CN107229668A (zh) * | 2017-03-07 | 2017-10-03 | 桂林电子科技大学 | 一种基于关键词匹配的正文抽取方法 |
Non-Patent Citations (2)
Title |
---|
DINGRONG YUAN: "A new algorithm: Extracting text information from Webpage based on block and tag-function", 《IEEE》 * |
马晓慧: "一种DOM树标签路径和行块密度结合的Web信息抽取方法", 《智能计算机与应用》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109710864A (zh) * | 2018-11-29 | 2019-05-03 | 北京字节跳动网络技术有限公司 | 页面内容划分方法、装置、可读存储介质及电子设备 |
CN109726338A (zh) * | 2018-11-29 | 2019-05-07 | 北京字节跳动网络技术有限公司 | 页面体裁划分方法、装置、可读存储介质及电子设备 |
CN109726338B (zh) * | 2018-11-29 | 2020-01-17 | 北京字节跳动网络技术有限公司 | 页面体裁划分方法、装置、可读存储介质及电子设备 |
CN109710864B (zh) * | 2018-11-29 | 2020-01-24 | 北京字节跳动网络技术有限公司 | 页面内容划分方法、装置、可读存储介质及电子设备 |
CN110516174A (zh) * | 2019-08-29 | 2019-11-29 | 百度在线网络技术(北京)有限公司 | 基于简易信息聚合获取正文的方法、装置及存储介质 |
CN111209442A (zh) * | 2019-12-31 | 2020-05-29 | 东软集团股份有限公司 | 一种图数据的显示方法、装置、存储介质及设备 |
CN111209442B (zh) * | 2019-12-31 | 2023-09-01 | 东软集团股份有限公司 | 一种图数据的显示方法、装置、存储介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108874934B (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7941420B2 (en) | Method for organizing structurally similar web pages from a web site | |
CN108874934A (zh) | 页面正文提取方法和装置 | |
JP5469244B2 (ja) | 選択的なコンテンツ抽出 | |
US9069855B2 (en) | Modifying a hierarchical data structure according to a pseudo-rendering of a structured document by annotating and merging nodes | |
US9594730B2 (en) | Annotating HTML segments with functional labels | |
CN100568226C (zh) | 用于重新格式化具有混乱超链接的区域的方法 | |
CN100440222C (zh) | 用于文本易读性增强的***和方法 | |
CN108009293A (zh) | 视频标签生成方法、装置、计算机设备和存储介质 | |
US20130283148A1 (en) | Extraction of Content from a Web Page | |
US20130275854A1 (en) | Segmenting a Web Page into Coherent Functional Blocks | |
WO2022116435A1 (zh) | 标题生成方法、装置、电子设备及存储介质 | |
CN111191012B (zh) | 知识图谱产生装置、方法及其计算机可读存储介质 | |
US20150100304A1 (en) | Incremental computation of repeats | |
CN108268433A (zh) | 基于网页文章的标题抽取方法及装置 | |
Song et al. | A hybrid approach for content extraction with text density and visual importance of DOM nodes | |
CN104268192B (zh) | 一种网页信息提取方法、装置及终端 | |
CN107992602A (zh) | 搜索结果展示方法和装置 | |
CN104346405B (zh) | 一种从网页中抽取信息的方法及装置 | |
CN109948518B (zh) | 一种基于神经网络的pdf文档内容文本段落聚合的方法 | |
CN110196929A (zh) | 问答对的生成方法和装置 | |
US20130124684A1 (en) | Visual separator detection in web pages using code analysis | |
CN108305305A (zh) | 推广图片的设计模块生成方法和装置 | |
CN113157871B (zh) | 应用人工智能的新闻舆情文本处理方法、服务器及介质 | |
CN112312189B (zh) | 一种视频生成方法及视频生成*** | |
CN112560490A (zh) | 知识图谱关系抽取方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |