网页正文的提取方法和装置的制造方法

文档序号:9579270阅读:292来源:国知局
网页正文的提取方法和装置的制造方法
【技术领域】
[0001]本发明涉及移动通讯技术领域,具体涉及一种网页正文的提取方法和装置。
【背景技术】
[0002]随着互联网技术的普及,网页已成为人们最为广泛的信息来源。为了更大限度利用网页的广泛性,人们不断开发能够有效利用网页的信息技术。然而,由于网页所承载信息的复杂性,使得网页不像传统的文本那样整齐、干净,其中包含大量的噪音内容,例如为了增强用户交互性而加入的脚本,为了便于用户浏览而加入的导航链接,以及出于商业考虑所加入的广告链接,等等。
[0003]为了充分共享和利用网页所承载的文字信息,需要将文字信息从网页中提取出来。或者说,网页正文提取是指从HTML (Hyper Text Mark-upLanguage,超文本标记语言)页面中,去除导航栏、文字链广告、图片、链接、产品推荐、版权等与正文无关的干扰数据,然后将网页承载的文字内容提取出来的过程。
[0004]为帮助用户迅速提取有效的信息,中间件厂商或是应用软件(如各种阅读软件)厂商通常会将浏览器页面中诸如导航栏、广告、图片等干扰数据排除,提取网页中的正文后进行重新排版,然后供用户浏览。
[0005]目前,中间件厂商或应用软件厂商通常采用前端抽取的方法提取网页正文。按照前端抽取的方法,首先在浏览器内核建立DOM (Document Object Model,文件对象模型)树,再通过Javascript引擎遍历Dom树中有效的树节点数据来获取网页中的正文内容。
[0006]但前端抽取的方法存在如下弊端:1.环境依赖:需要依托于浏览器,在浏览器未打开时,前端抽取无法执行。2.页面依赖:需要网页编写者必须编写较规范的网页程序,对于不规范或者较特殊的网页程序,前端抽取方法则无法进行网页正文的提取。

【发明内容】

[0007]本申请实施例中提供了一种网络正文提取方法及装置,以解决现有技术在网页正文提取中存在的问题。
[0008]为了解决上述技术问题,第一方面,本申请实施例公开了一种网页正文提取方法,包括:
[0009]读取网页数据,确定网页数据中包含的干扰数据,以及,用空字符替换所述干扰数据;
[0010]记录网页每一行的行号以及对应行内的文字个数;
[0011]利用所述每一行的行号以及对应行内的文字个数确定网页正文;
[0012]提取所述网页正文。
[0013]其中,利用所述每一行的行号以及对应行内的文字个数确定网页正文的步骤包括:
[0014]确定网页行号范围X,其中,X = 1?j,j是正整数;
[0015]将网页中的空行的文字个数设置为负数;
[0016]根据设置后的每行文字个数,计算以第η行为最后一行的一段连续行的文字个数总和最大值F (η),其中,η = 1?X ;
[0017]根据F(n)与第η行的文字个数a[n],得到网页正文所处的行区间,
[0018]选择行区间的文字作为网页正文。
[0019]其中,所述得到网页正文所处的行区间的步骤包括:
[0020]确定最大行号j ;
[0021]计算初始行文字个数总和,F(l) = a[l];
[0022]设置当前行号n = i,其中,i = 2?j ;以第η行为最后一行的一段连续行的文字个数总和最大值F (n) =F(n-l)+a[n];
[0023]如果F (n-1) ( 0,贝丨J F (η) = a[n],使 η = η+1 ;
[0024]如果F(n-l) >0』jF(n) = F(n_l)+a[n],使 η = η+1 ;
[0025]比较η和j,如果η = j,结束F (η)的计算;如果η古j,转计算F (n)的步骤继续计算。
[0026]查找F(l)?F(j)中的最大值,最大值所在行确定为网页正文所处行区间的终止行,根据所述最大值和每行文字个数a [η]确定网页正文所处行区间的起始行。
[0027]优选地,所述将网页中空行的文字个数设置为负数的步骤包括:
[0028]根据网页正文在网页页面中的分散程度对负数的取值进行调整。
[0029]其中,所述根据网页正文在页面中的分散程度对负数的取值进行调整的步骤包括:
[0030]当网页正文在页面中分布集中时,所述负数为小于-10的负整数;
[0031]当网页正文在页面中分布分散时,所述负数为[-10,-1]中的任一负整数。
[0032]优选地,利用所述每一行的行号以及对应行内的文字个数确定网页正文的步骤包括:
[0033]确定网页行号范围X,其中,X = 1?j,j是正整数;
[0034]计算前η行的文字个数总和F (η),其中,η = 1?X ;
[0035]根据F(n)得到多个连续的正文区间,其中,η = 1?X ;
[0036]从连续的正文区间中选择一个或多个正文区间的文字作为网页正文。
[0037]其中,所述根据F(n)得到多个连续的正文区间的步骤包括:
[0038]确定最大行号j ;
[0039]确定初始行号i,i = 1?j ;
[0040]设置当前行号n = i;
[0041]如果F(n) =F(n+l),则确定正文区间为F(i)到F(n),结束F(n)的计算,或者转确定初始行号i的步骤继续判断;
[0042]如果F (η) ^ F (η+1),使 η = η+1 ;
[0043]如果η = j,则结束F(η)的计算;如果η幸j,则转比较F(η)和F(η+1)的步骤继续判断。
[0044]作为另一优选方案,在得到的多个连续的正文区间中,将文字个数大于预定数值的正文区间的文字作为网页正文。
[0045]其中,利用所述每一行的行号以及对应行内的文字个数确定网页正文的步骤包括:
[0046]确定网页行号范围X,其中,X = 1?j,j是正整数;
[0047]逐次计算第η行与第n+h行之间的文字个数之和F (η),其中,η = 1?X_h,h为大于1小于j的自然数;
[0048]将F(l)?F(n)中最大值对应的行数与该行之后与h行的文字作为网页正文。
[0049]第二方面,本申请实施例公开了一种网页正文提取装置,包括:
[0050]噪声处理单元,用于读取网页数据,确定网页数据中包含的干扰数据,以及,用空字符替换所述干扰数据;
[0051]记录单元,用于记录网页每一行的行号以及对应行内的文字个数;
[0052]网页正文确定单元,用于利用所述每一行的行号以及对应行内的文字个数确定网页正文;
[0053]提取单元,用于提取所述网页正文。
[0054]其中,所述网页正文确定单元包括:
[0055]数据初始模块,用于确定网页的行号范围X,X = 1?j,j是正整数;以及将网页中空行的文字个数设置为负数;
[0056]数据处理模块,用于根据重新赋值后的每行文字个数,计算以第η行为最后一行的一段连续行的文字个数总和最大值F(η),η = 1?X ;并根据F(n)与第η行的文字个数a[n],得到网页正文所处的行区间,以及选择行区间的文字作为网页正文。
[0057]作为另一方案,所述网页正文确定单元包括:
[0058]数据初始模块,用于确定网页行号范围X,X = 1?j,j是正整数;
[0059]数据处理模块,用于计算前η行的文字个数总和F(n),其中η = 1?X;并根据F(n),得到多个连续的正文区间,其中η = 1?X;以及从连续的正文区间中选择一个或多个正文区间的文字作为网页正文。
[0060]作为再一方案,所述网页正文确定单元包括:
[0061]数据初始模块,用于确定网页行号范围X,其中,X = 1?j,j是正整数;
[0062]数据处理模块,用于逐次计算第η行与第n+h行之间的文字个数之和F(η),并查找F(l)?F(n)中最大值F(p),将p行与p+h行之间的文字作为网页正文,其中,η = 1?X-h,p = 1?X-h,h为大于1小于j的自然数。
[0063]由以上技术方案可见,本申请实施例提供的网页正文提取方法及装置,由于网页数据的提取来源不受存储介质的限制,即使浏览器未打开,本方法可在浏览器存储数据的存储装置中将网页数据下载到本地服务器中进行网页正文的提取,因此本发明不用依赖于浏览器环境。同时本发明将网页中的干扰数据利用空行替代,因此在网页正文提取过程中不会受限于网页程序编写的规范性。此外,本发明中的网页提取方法针对不同的网页数据,通过调节重置空行文字个数的数值能够适用不同格式的网页,因此具有较好的扩展性。
[0064]与现有技术相比,本发明具有不依赖浏览器环境、不依赖页面结构以及扩展性较好的优点。
【附图说明】
[0065]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1