发明内容
有鉴于此,本发明提供了一种网页正文提取方法及装置,能够提高提取网页正文的速度。
本发明提供了一种网页正文提取方法,包括:
提取待提取网页的所有语义块;
将所述待提取网页均匀分割成多个区域块;
对所有区域块进行预设个数次随机抽样;
确定被抽中的区域块所在的语义块;
计算出每个语义块的抽样分布概率;
确定抽样分布概率大于等于预设概率的语义块为网页正文所在的语义块。
进一步地,所述提取待提取网页的所有语义块,包括:
S1:对所述待提取网页的HTML源码建立文件对象模型DOM树;
S2:根据所述DOM树获得所述待提取网页的所有语义块。
进一步地,所述S2,包括:
S11:对所述DOM树进行页面分块,提取出所有的页面块;
S12:根据所述页面块,检测出页面块之间的所有分割条;
S13:根据所述分割条对所述页面块进行合并,得到合并后的页面块;
S14:获取合并后的页面块的内容相关度,判断当前页面块的内容相关度是否大于等于预设值,如果是,则确定当前页面块为语义块,否则,继续对这类语义块进行页面分块,返回步骤S11。
进一步地,在所述S1之前,还包括:
对所述待提取网页进行网页纠错,获得DOM树结构完整的待提取网页。
进一步地,还包括:记录每个语义块的坐标值和每个区域块的坐标值;
所述确定被抽中的区域块所在的语义块,包括:
根据所述每个语义块的坐标值和所述每个区域块的坐标值,确定被抽中的区域块所在的语义块。
另一方面,本发明提供了一种网页正文提取装置,包括:
提取单元,用于提取待提取网页的所有语义块;
分割单元,用于将所述待提取网页均匀分割成多个区域块;
抽样单元,用于对所有区域块进行预设个数次随机抽样;
语义块确定单元,用于确定被抽中的区域块所在的语义块;
计算单元,用于计算出每个语义块的抽样分布概率;
正文确定单元,用于确定抽样分布概率大于等于预设概率的语义块为网页正文所在的语义块。
进一步地,所述提取单元,包括:
建立子单元,用于对所述待提取网页的HTML源码建立文件对象模型DOM树;
提取子单元,用于根据所述建立子单元建立的所述DOM树获得所述待提取网页的所有语义块。
进一步地,所述提取子单元,包括:
页面块提取子单元,用于对所述建立子单元建立的所述DOM树进行页面分块,提取出所有的页面块,并对判断子单元建立的所述DOM数进行页面分块,提取出所有页面块;
检测子单元,用于根据所述页面块提取子单元提取出的所述页面块,检测出页面块之间的所有分割条;
合并子单元,用于根据检测子单元检测出的所述分割条对所述页面块进行合并,得到合并后的页面块;
判断子单元,用于获取所述合并子单元得到的合并后的页面块的内容相关度,判断当前页面块的内容相关度是否大于等于预设值,当判断结果为是时,确定当前页面块为语义块,当判断结果为否时,建立当前页面块的DOM树,通知所述页面块提取子单元。
进一步地,还包括:
纠错子单元,用于对所述待提取网页进行网页纠错,获得DOM树结构完整的待提取网页。
进一步地,还包括:记录单元,用于记录每个语义块的坐标值和每个区域块的坐标值;
所述语义块确定单元,用于根据所述每个语义块的坐标值和所述每个区域块的坐标值,确定被抽中的区域块所在的语义块。
本发明提供了一种网页正文提取方法及装置,提取待提取网页的所有语义块,将所述待提取网页均匀分割成多个区域块,对区域块进行随机抽样,确定被抽中的区域块所在的语义块,计算出每个语义块的抽样分布概率,通过每个语义块的抽样分布概率来表征每个语义块的面积大小,当语义块的抽样分布概率大时,说明该语义块的面积较大,该语义块为网页正文所在的语义块的概率也大,当语义块的抽样分布概率大于等于预设概率时,则确定该语义块为网页正文所在的语义块,这种方法只需进行简单的随机抽样计算即可,无需对待提取网页的DOM树进行遍历,能够提高提取网页正文的速度。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种网页正文提取方法,该方法可以包括以下步骤:
步骤101:提取待提取网页的所有语义块;
步骤102:将所述待提取网页均匀分割成多个区域块;
步骤103:对所有区域块进行预设个数次随机抽样;
步骤104:确定被抽中的区域块所在的语义块;
步骤105:计算出每个语义块的抽样分布概率;
步骤106:确定抽样分布概率大于等于预设概率的语义块为网页正文所在的语义块。
通过本发明实施例提供的一种网页正文提取方法,提取待提取网页的所有语义块,将所述待提取网页均匀分割成多个区域块,对区域块进行随机抽样,确定被抽中的区域块所在的语义块,计算出每个语义块的抽样分布概率,通过每个语义块的抽样分布概率来表征每个语义块的面积大小,当语义块的抽样分布概率大时,说明该语义块的面积较大,该语义块为网页正文所在的语义块的概率也大,当语义块的抽样分布概率大于等于预设概率时,则确定该语义块为网页正文所在的语义块,这种方法只需进行简单的随机抽样计算即可,无需对待提取网页的DOM树进行遍历,能够提高提取网页正文的速度。
为了能够更加准确的提取出待提取网页的所有语义块,所述提取待提取网页的所有语义块,包括:
S1:对所述待提取网页的HTML源码建立DOM树;
S2:根据所述DOM树获得所述待提取网页的所有语义块。
在一种可能的实现方式中,所述S2,包括:
S11:对所述DOM树进行页面分块,提取出所有的页面块;
S12:根据所述页面块,检测出页面块之间的所有分割条;
S13:根据所述分割条对所述页面块进行合并,得到合并后的页面块;
S14:获取合并后的页面块的内容相关度,判断当前页面块的内容相关度是否大于等于预设值,如果是,则确定当前页面块为语义块,否则,继续对这类语义块进行页面分块,返回步骤S11。
在该实现方式中,为了使得每个语义块中内容的相关性较高,需要保证每个输出的语义块的内容相关度较高。在输出语义块之前对每个合并后的页面块进行内容相关度的判断,当页面块的内容相关度大于等于预设值时,该页面块满足要求,确定该页面块为语义块;如果有合并后的页面块的内容相关度小于预设值,则继续对这类语义块进行页面分块,直到所有的页面块的内容相关度都大于等于预设值。另外,分割条包括横向和纵向的分割条。
由于HTML在编写过程中存在不规范现象,为了能够获得准确的DOM树,需要对待提取网页进行网页纠错,使待提取网页规范。在所述S1之前,还包括:
对所述待提取网页进行网页纠错,获得DOM树结构完整的待提取网页。
举例来说,所述对所述待提取网页进行网页纠错,包括:对所述待提取网页进行HTML标签补全、错误标签去除、脚本、代码注释去除。
为了能够准确的确定被抽中的区域块所在的语义块。该方法还包括:记录每个语义块的坐标值和每个区域块的坐标值;
所述确定被抽中的区域块所在的语义块,包括:
根据所述每个语义块的坐标值和所述每个区域块的坐标值,确定被抽中的区域块所在的语义块。
举例来说,待提取网页对应的多个区域块和语义块均为矩形,每个区域块和每个语义块均可以通过一条对角线上的两个顶点来确定。
另外,在步骤102中,可以根据预设的精确度将所述待提取网页均匀分割成多个区域块,从网页的横向和纵向对所述待提取网页进行分割。其中,为了提高每个语义块的抽样分布概率的准确度,区域块的大小越小越好。
本发明实施例提供了一种网页正文提取方法,该方法可以包括图中未示出的以下步骤:
步骤A1:提取待提取网页的所有4个语义块,分别是第一语义块、第二语义块、第三语义块、第四语义块;
步骤A2:将所述待提取网页均匀分割成多个区域块;
步骤A3:对所有区域块进行100次随机抽样;
步骤A4:确定被抽中的区域块所在的语义块;
步骤A5:计算出每个语义块的抽样分布概率;
举例来说,100次抽样中有70个区域块位于第一语义块中,则计算出第一语义块的抽样分布概率为0.7。
步骤A6:确定抽样分布概率大于等于预设概率的语义块为网页正文所在的语义块。
举例来说,预设概率为0.6,其中,第一语义块的抽样分布概率为0.7,大于预设概率0.6,则确定第一语义块为网页正文所在的语义块。
本发明实施例还提供了一种网页正文提取装置,参见图2,该装置包括:
提取单元201,用于提取待提取网页的所有语义块;
分割单元202,用于将所述待提取网页均匀分割成多个区域块;
抽样单元203,用于对所有区域块进行预设个数次随机抽样;
语义块确定单元204,用于确定被抽中的区域块所在的语义块;
计算单元205,用于计算出每个语义块的抽样分布概率;
正文确定单元206,用于确定抽样分布概率大于等于预设概率的语义块为网页正文所在的语义块。
为了能够更加准确的提取出待提取网页的所有语义块,所述提取单元201,包括:
建立子单元,用于对所述待提取网页的HTML源码建立文件对象模型DOM树;
提取子单元,用于根据所述建立子单元建立的所述DOM树获得所述待提取网页的所有语义块。
在一种可能的实现方式中,所述提取子单元,包括:
页面块提取子单元,用于对所述建立子单元建立的所述DOM树进行页面分块,提取出所有的页面块,并对判断子单元建立的所述DOM数进行页面分块,提取出所有页面块;
检测子单元,用于根据所述页面块提取子单元提取出的所述页面块,检测出页面块之间的所有分割条;
合并子单元,用于根据检测子单元检测出的所述分割条对所述页面块进行合并,得到合并后的页面块;
判断子单元,用于获取所述合并子单元得到的合并后的页面块的内容相关度,判断当前页面块的内容相关度是否大于等于预设值,当判断结果为是时,确定当前页面块为语义块,当判断结果为否时,建立当前页面块的DOM树,通知所述页面块提取子单元。
由于HTML在编写过程中存在不规范现象,为了能够获得准确的DOM树,需要对待提取网页进行网页纠错,使待提取网页规范。该装置还包括:
纠错子单元,用于对所述待提取网页进行网页纠错,获得DOM树结构完整的待提取网页。
为了能够准确的确定被抽中的区域块所在的语义块。该装置还包括:记录单元,用于记录每个语义块的坐标值和每个区域块的坐标值;
所述语义块确定单元,用于根据所述每个语义块的坐标值和所述每个区域块的坐标值,确定被抽中的区域块所在的语义块。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例提供的一种网页正文提取方法及装置,具有如下有益效果:
1、通过本发明实施例提供的一种网页正文提取方法及装置,提取待提取网页的所有语义块,将所述待提取网页均匀分割成多个区域块,对区域块进行随机抽样,确定被抽中的区域块所在的语义块,计算出每个语义块的抽样分布概率,通过每个语义块的抽样分布概率来表征每个语义块的面积大小,当语义块的抽样分布概率大时,说明该语义块的面积较大,该语义块为网页正文所在的语义块的概率也大,当语义块的抽样分布概率大于等于预设概率时,则确定该语义块为网页正文所在的语义块,这种方法只需进行简单的随机抽样计算即可,无需对待提取网页的DOM树进行遍历,能够提高提取网页正文的速度。
2、通过本发明实施例提供的一种网页正文提取方法及装置,能够精确抽取网页正文信息,这种方法只需进行简单的随机抽样计算即可,无需对待提取网页的DOM树进行遍历,降低了提取网页正文的复杂度。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语″包括″、″包含″或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句″包括一个……″限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。