从《网页降噪助你提升搜索引擎表现》来做php正文提取算法

作者:enenba | 发表于:2012-11-10 12:06 | 分类:php采集

    从这个文章上看“网页降噪”其实就是要取消、消除这些多余、不和谐,从而突出更重要的主体内容的工作。
   噪点在原文宏观上看:即页面的内容、模版布局、样式,此类较为常见的有:内容版权声明、公共导航、公共底部声明(公司介绍、招聘、备案信息等)这些大都可以看作是网页中的噪点!
   噪点在原文微观上看:即文章内容中的文字、符号,此类较为常见的是一些助词(的、地、得、着、了、之、乎、者、也、矣......)、特殊符号(星星啊、月亮啊、太阳啊)、无效代码等;

以上是从《网页降噪助你提升搜索引擎表现》摘出的精华内容,刚好我想做泛采集,还是很有用的,因为文中的噪点在正文提取来说就是过滤非正文内容。

我做了小结

一、样式噪点主要是有内嵌样式和行内样式,比如:

 <style type="text/css">....囧....</style>

 和

<p style="color:red;font-size:30px;font-family:隶书;....囧....">

 当样式中有大量的中文注释,必然会产生噪点,不能只过滤掉<style>标签,要把整个样式都去掉。
以下php代码会过滤css样式

	//php删除内嵌样式
	$html = '前内容 <style type="text/css">....囧....</style>后内容';
	$html = preg_replace('/<style.*?>.*?<\/style>/is', '', $html);
	highlight_string($html);
	
	//php删除行内样式
	$html = '<p style="color:red;font-size:30px;font-family:隶书;....囧....">';
	$html = preg_replace('/ style=("|\').*?\1/is', '', $html);
	highlight_string($html);

 

二、内容版权声明噪点
      版权可以是网站名称、网址、网址简称,如:  转载于..囧..   、   转载自..囧..    、 作者:..囧.. 、   copyright © ..囧..  等信息,这些信息不是单纯地出现在footer底部,很可能出现在正文标题附近、内容尾部、关键字链接等部分。
      因为情况很多,实在是很多,那判断会很复杂的,php过滤代码只上个大概:

$html = preg_replace('/(噪点词前位特征1|噪点词前位特征2|......).*?\s+/is', '', $html);

三、公共导航噪点
 导航有个很明显的特征:就是无长文本、关键词集中、位置分布平均、html标签统一等特点。
 php代码不上了,说个基本思路:
 1、可以把所有html标签换空格,统计文本长度,文本空格密度。
 2、对于有class="menu" 、id="nav" 等标签进行判断。
 3、一般来说 有ul li 集中的地方不是文章列表就是导航了。

 

四、文章内容中的文字、符号噪点
 与其说是文章内容的噪点,不如说是正文的特征了、这个就是我们所要的正文部分了。
 如  中文助词: “的、地、得、着、了、之、乎、者、也” 
     特殊符号: “,。、!?”
     无效代码: <!-- content start -->  <!-- content end --> <div class="content"> 广告代码 等内容

 php代码也不上了:
 
 1、统计长文本中 中文助词的次数比,找到比例合适位置。
 2、对特殊符号进行分割:
  先
    $word = array(",", "。", "、", "!", "?");
    $html = str_replace($word, ',', $html);
    $arr = explode(',', $html);
  再
    分块统计$arr数量,
    一般大于一定量会有惊喜。
 3、无效代码也有一定的特征,可以简单判断。

 

 

 enenba.com原创内容,转载保留出处http://enenba.com/?post=251

end..

上一篇: 使用curl获取Location:重定向后url   |   下一篇:使用simple_html_dom类获取百度的相关搜索» 标签: php采集 噪点 php降噪 php正文提取

评论:

2013-03-17 00:47

很好。找到我想要的东西,以后经常关注你的,博客,
对了,那个删除内样式帮我解决了百度富文本编辑器的一个BUG....谢谢了。。。非常感谢。。

2013-03-19 10:22

谢谢关注、

2012-12-25 11:37

将页也是很正常的呀

2012-12-23 16:58

网页降噪有用嘞

2012-12-15 13:01

这个就是我很喜欢的呀

2012-12-15 12:59

就是那么一种感觉的呀

2012-12-06 12:03

搜索引擎就是这样的一回事的呀

2012-11-27 12:41

可以提升下也是不错的呀

2012-11-26 16:30

这个提升很给力呀

2012-11-20 17:32

网页也能降噪啊

2012-11-13 16:07

这个算法还挺好的呀

1 2