设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

我为开源做贡献,网页正文提取——Html2Article

2014-1-7 14:38| 发布者: 红黑魂| 查看: 23359| 评论: 5|原作者: StanZhai|来自: 博客园

摘要: 为什么要做正文提取一般做舆情分析,都会涉及到网页正文内容提取。对于分析而言,有价值的信息是正文部分,大多数情况下,为了便于分析,需要将网页中和正文不相干的部分给剔除。可以说正文提取的好坏,直接影响了分 ...

为什么要做正文提取

一般做舆情分析,都会涉及到网页正文内容提取。对于分析而言,有价值的信息是正文部分,大多数情况下,为了便于分析,需要将网页中和正文不相干的部分给剔除。可以说正文提取的好坏,直接影响了分析结果的好坏。

对于特定的网站,我们可以分析其html结构,根据其结构来获取正文信息。先看一下下面这张图:

正文部分,不同的网站,正文所在的位置不同,并且Html的结构也不同,对于爬虫而言,抓取的页面是各种各样的,不可能针对所有的页面去写抓取规则来提取正文内容,因此需要一种通用的算法将正文提取出来。

现有的网页正文提取算法

  • 基于标签用途的正文提取算法(比如title或h1,h2标签一般用作标题,p一般表示正文段落,根据标签的含义去提取正文)
  • 基于标签密度判定(这个简单,说白了就是字符统计,正文部分html标签的密度比较低,确定一个阈值,按照标签密度提取正文部分)
  • 基于数据挖掘思想的网页正文抽取方法(这里会涉及到统计学和概率论的一些知识,在高深点就成了机器学习了,没有深入研究)
  • 基于视觉网页块分析技术的正文抽取(CV这种高端大气上档次的东西,岂是我等这么容易就能研究明白的。虽然实现上复杂,但就提取效果而言,这种方法提取的精度还是不错的)

前2中方法还是比较容易实现的,主要是处理简单,先前我把标签密度的提取算法实现了,但实际用起来错误率还是蛮高的;后2种方法在实现上就略复杂了,从算法效率上讲应该也高不了哪去。

我们需要的是一种简单易实现的,既能保证处理速度,提取的准确率也不错的算法。于是结合前两种算法,研究网页html页面结构,有了一种比较好的处理思路,权且叫做基于文本密度的正文提取算法吧。后来从网上找了一下类似的算法,发现也有使用类似的处理方法来处理正文提取的,不过还是有些不同。接下来跟大家分享一下这个算法的一些处理思想。

网页分析

我任意取了百度,搜狐,网易的一篇新闻类网页,拿来作分析。

先看一篇百度的文章

任正非为什么主动与我合影,http://liyinghuan.baijia.baidu.com/article/2011

首先请求这个页面,然后过滤到所有的html标签,只保留文本信息,我们可以看到正文信息集中在一下位置:

使用Excel分析行数与每行的字符的关系可以发现:

很明显,正文内容集中在65-100行之间的位置上,而这个区间的字符数也是比较密集的。

再来一篇网易的文章

张小龙神话已破灭 马化腾该接管微信了,http://tech.163.com/13/1230/10/9HB88VE600094NRG.html

还是先看下过滤html标签后的正文部分:




酷毙

雷人
1

鲜花

鸡蛋

漂亮

刚表态过的朋友 (1 人)

发表评论

最新评论

引用 游客 2016-12-1 21:43
0.03秒 确实非常之高效。
引用 游客 2015-5-18 10:31
算法速度30ms......连算法复杂度的基本思想都没有么
引用 游客 2015-4-21 15:31
有没有java版的啊
引用 游客 2015-3-28 11:07
请问怎么请求一个网页的内容???
引用 游客 2014-10-9 17:55
看着真尼玛费劲

查看全部评论(5)

(200字以内)
验证问答 换一个 验证码 换一个

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187  

返回顶部