最近由于工作的需要,在网上查找了一些关于网页内容抽取的资料,其中“基于逻辑行和最大接纳距离的网页正文抽取”的算法易于实现且抽取效果较好,故编写代码实现,以下描述该算法。
算法的基本思路:
人们在编写HTML网页时,几乎都会遵循这样的规则:
1.以行为单位编写HTML代码,也就是说HTML中的每一行大都表示一个相对完整的语义。
2.正文代码通常在物理位置上都会靠得很近,也就是正文代码是连续的,或者是间断连续的。
3.正文中每一行大都是中文,HTML标签的字数的比率较小。
4.正文代码中非HTML标签的文字数量较多。
5.正文代码中一行中超链接长度所占比率不会很大。
相关定义:
1.逻辑行:按照行来读取字符流,如果在行中“<”符号和“>”相等,则该行是一个完整的逻辑行,反之则不是一个完整的逻辑行,如果不是逻辑行,则需要读入下一行,直至是一个完整的逻辑行为止。
2.TR(行内文本比率):在一个逻辑行中,不含HTML标签的文本字节数与逻辑行总字符数的比值。经过试验,TR值小于0.42的行不被认为是文本内容,会被过滤掉。
3.TN(行内文本数):在一个逻辑行中,不含HTML标签的文本字节数。一般情况下,认为TN大于25是一个文本内容,小于25的将被过滤掉,个人使用时,认为使用10比较合适。
4.LR(行内超链接比率):在一个逻辑行中,超链接的字节数与逻辑行总字节数的比率,一般情况下,认为LR大于0.75的逻辑将不认为是文章内容,将会被过滤。
本算法可以分为两部分,第一部分来文本预处理,第二部分在第一部分的基础上实现文本抽取。
1.预处理:有了以上依据还不足以抽取网页正文,比如HTML注释,javascript脚本等非网页正文在很多情况下也会符合上述规则,这就严重影响了正文抽取的准备性。所以在内容抽取之前,需要过滤掉这些明显的非网页正文。具体过滤的包括以下几项:
(1)HTML内容中<body>之前内容。
(2)内部样式表内容,即<style>....</style>样式块。
(3)JavaScript脚本,即<script ...>....</script>。
(4)HTML注释。
2.文本抽取:经过预处理后,根据以上设定的几个指标的阀值,很容易可以过滤掉不符合网页正文的逻辑行,留下的文本,即可大致认为是网页正文,为了更形象的说明网页逻辑行的选取情况,可以定义一个数组或其它数据结构,描述如下:FS={f1,f2...fi..,fn},其中i表示网页中的逻辑行,n代表网页逻辑行的个数。fi的值有两个,0,代表该行被过滤,1,代表该行被选取。FS的形式如下:{0,1,1,1,1,0,0,0,0,1,1,0},可以发现,网页中的连续段落经常会有多个,根据“网页中的正文是连续的或者是间断连续的”,可以知道这其中某一段落或者多个段落都是网页正文。但是正文中也有可能包含一些非正文的内容,导致正文中断,所以在此处引入“最大接纳距离MaxAD”的概念,定义:在FS集合中,可以接纳的两个标记为1之间的最大位置之差,在这两个标记中的0可以修正为1。经过测试,发现MaxAD为2比较合适 。根据MaxAD的值,对FS的的集合值进行修正,修正完成后,连续的最长的选取的内容即是网页要抽取的内容。
原帖见http://www.doc88.com/p-69317315375.html。
分享到:
相关推荐
针对这些问题,该文提出了一个网页正文抽取的新方法,该方法不依赖DOM树,而是考虑人们编写网页的方式形成一些启发式规则,并结合相关的统计规律,以逻辑行为基本处理单位,基于最大接纳距离进行网页正文抽取。...
基于地区功率平衡的新能源最大接纳能力评估.pdf
DiffServ网络架构中基于带宽代理的QoS接纳控制机制的研究,郑明明,王琼,在Internet技术和实时业务需求迅猛发展的现今,为满足业务对带宽、延迟和延迟抖动等服务质量方面的需求,引入的提供端到端QoS保证的�
针对异构网络中系统容量有限、资源利用率低的问题,在分析对比传统呼叫接纳控制模型的基础上,提出一种基于马尔可夫决策过程理论的接纳控制模型。理论采用定义五元组的方式来描述建模过程,推导出目标评价函数,并...
基于业务区分的联合接纳控制策略,沈东明,,提出了一种应用于异构无线环境下基于业务区分的联合接纳控制策略。该算法定义了不同类型、不同优先级业务的效用函数,以此衡量用
提出一种基于带宽分配的多业务接纳控制算法,依据系统无线拥塞程度的不同相应地采用不同的机制来进行呼叫接入的判决,当系统发生严重拥塞时,拒绝接入所有的呼叫;而在系统发生中等程度的拥塞时,如果新呼叫所隶属的...
1) 针对基于多制式的半分布式联合接纳控制是本次研究中最新提出的一种接纳控制解决方案和架构,分为增强型本地接纳控制与联合接纳控制,改进了小区驻留选择与重选方法,实现了对小区重选控制,并对接纳控制传回控制...
基于接收功率的多业务接纳控制算法pdf,基于接收功率的多业务接纳控制算法
基于新能源发展背景下的配电网接纳能力分析.pdf
无线通信网络中多种接入技术将长期并存且协同工作,传统的接纳控制方法无法满足现有用户与网络需求。联合接纳控制是联合无线资源管理的重要组成部分,接纳控制策略的好坏直接影响到用户的服务质量。通过对不同接纳...
污水处理厂接纳协议【污水接纳处理协议】.rar
基于带宽代理的接纳控制研究,王琼,王佳佳,针对下一代网络中对多媒体业务接入和网络QoS保障的要求,本文重点研究了基于带宽代理的接纳控制及四种常用算法,利用NS-2仿真平台��
本文根据网络流量自相似特性,将基于参数的接纳控制与基于测量的接纳控制方法相结合,提出了基于测量的自相似接纳控制算法和基于自相似测量的自适应接纳控制算法 。仿真结果表明,该算法能够提高自相似网络流量环境下的...
基于Lyapunov漂移和优化理论的区分服务接纳控制算法,沈雪晴,王纯,本文针对于开放云平台的具体需求,基于Lyapunov漂移和优化理论提出了支持区分服务的云平台接纳控制和资源调度模型,该模型支持异构�
网络游戏-基于用户需求和网络负载均衡的群体联合接纳控制方法.zip
基于漏桶的内容适配系统接纳控制.docx
#资源达人分享计划#
考虑削减方法和最大化接纳能力的新能源准入容量柔性优化模型.pdf
基于博弈论的下一代无线网络呼叫接纳控制策略。
一种基于WiMAX无线接入网的接纳控制和动态带宽分配算法,王宁,,针对WiMAX无线接入网的特点,在有限的带宽资源条件下保证多用户、多业务的服务质量,提出一种基于接入阻塞率自适应调整的接纳控制�