网页正文提取.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
我为开源做贡献,网页正文提取——Html2Article2014-1-7 14:38|?发布者:?/space-uid-436905.html红黑魂|?查看:?16722|?评论:?/portal.php?mod=commentid=234808idtype=aid4|原作者: StanZhai|来自:?/jasondan/p/3497757.html博客园摘要: 为什么要做正文提取一般做舆情分析,都会涉及到网页正文内容提取。对于分析而言,有价值的信息是正文部分,大多数情况下,为了便于分析,需要将网页中和正文不相干的部分给剔除。可以说正文提取的好坏,直接影响了分 ...为什么要做正文提取一般做舆情分析,都会涉及到网页正文内容提取。对于分析而言,有价值的信息是正文部分,大多数情况下,为了便于分析,需要将网页中和正文不相干的部分给剔除。可以说正文提取的好坏,直接影响了分析结果的好坏。对于特定的网站,我们可以分析其html结构,根据其结构来获取正文信息。先看一下下面这张图:正文部分,不同的网站,正文所在的位置不同,并且Html的结构也不同,对于爬虫而言,抓取的页面是各种各样的,不可能针对所有的页面去写抓取规则来提取正文内容,因此需要一种通用的算法将正文提取出来。现有的网页正文提取算法基于标签用途的正文提取算法(比如title或h1,h2标签一般用作标题,p一般表示正文段落,根据标签的含义去提取正文)基于标签密度判定(这个简单,说白了就是字符统计,正文部分html标签的密度比较低,确定一个阈值,按照标签密度提取正文部分)基于数据挖掘思想的网页正文抽取方法(这里会涉及到统计学和概率论的一些知识,在高深点就成了机器学习了,没有深入研究)基于视觉网页块分析技术的正文抽取(CV这种高端大气上档次的东西,岂是我等这么容易就能研究明白的。虽然实现上复杂,但就提取效果而言,这种方法提取的精度还是不错的)前2中方法还是比较容易实现的,主要是处理简单,先前我把标签密度的提取算法实现了,但实际用起来错误率还是蛮高的;后2种方法在实现上就略复杂了,从算法效率上讲应该也高不了哪去。我们需要的是一种简单易实现的,既能保证处理速度,提取的准确率也不错的算法。于是结合前两种算法,研究网页html页面结构,有了一种比较好的处理思路,权且叫做基于文本密度的正文提取算法吧。后来从网上找了一下类似的算法,发现也有使用类似的处理方法来处理正文提取的,不过还是有些不同。接下来跟大家分享一下这个算法的一些处理思想。网页分析我任意取了百度,搜狐,网易的一篇新闻类网页,拿来作分析。先看一篇百度的文章任正非为什么主动与我合影,/article/2011/article/2011首先请求这个页面,然后过滤到所有的html标签,只保留文本信息,我们可以看到正文信息集中在一下位置:使用Excel分析行数与每行的字符的关系可以发现:很明显,正文内容集中在65-100行之间的位置上,而这个区间的字符数也是比较密集的。再来一篇网易的文章张小龙神话已破灭 马化腾该接管微信了,/13/1230/10/9HB88VE600094NRG.html/13/1230/10/9HB88VE600094NRG.html还是先看下过滤html标签后的正文部分:再来一个Excel的分析结果:正文部分集中在279-282行之间,从图上看,也正是这么几行的文本密度特别高。最后分析一篇搜狐的新闻李克强天津调研考察的几个瞬间,n392604462.shtmln392604462.shtml还是先看下过后标签后的正文:再看下Excel的分析结果:而搜狐的这篇文章正文部分主要集中在200-255行之间。其余的文本全部是杂乱的标签文本。抱歉,漏了很重要的一点说明:为什么分析的时候要把html标签过滤掉呢?过滤html标签是为了降低干扰,因为我们关注的是正文内容,如果带着这样的标签span?style=color: #0000ff;var/span?chart =?span?style=color: #0000ff;new/spanspan?style=color: #000000;去分析,可想而知,对我们的正文分析会有多大的干扰了,也正因如此需要将html标签掉,只对文本做分析,降低干扰。基于网页分析构思出的正文提取算法回顾以上的网页分析,如果按照文本密度来找提取正文,那么就是写这么一个算法,能够从过滤html标签后的文本中找到正文文本的起止行号,行号之间的文本就是网页正文部分。还是从上面三个网页的分析结果看,他们都有这么一个特性:正文部分的文本密度要高出非正文部分很多。我们按照这个特性就可以很容易将算法实现,那就是基于阈(读音:yu)值去分析正文所在的位置。那么接下来就需要解决一些问题:

文档评论(0)

此项为空 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档