
如果你用过 Pocket getpocket.com,那么当你添加一个网页后,点击进去,Pocket会为你生成一个包含正文的阅读界面。那么这个从各种网站杂乱的html中抽出正文的功能是如何实现的呢,有没有什么开源的第三方库呢?貌似Safari中的阅读列表也有类似的生成正文的功能。
1 ryanking8215 2015 年 3 月 10 日 会不会把样式都去掉了,或者是自己的样式。 |
2 raptium 2015 年 3 月 10 日 印象中最早实现这个功能的东西叫 readability |
3 multiple1902 2015 年 3 月 10 日 Shuyi Zheng, Ruihua Song, and Ji-Rong Wen. Template-Independent News Extraction Based on Visual Consistency. In the Proceedings of AAAI 2007, 2007 http://www.aaai.org/Papers/AAAI/2007/AAAI07-239.pdf |
4 KyL OP @ryanking8215 但是一个原始的网页中除了正文,还有其他的文本,包括导航,广告,一些说明文字,评论等等。仅仅去掉样式并不能解决这些多余的文本吧。 |
5 h4x3rotab 2015 年 3 月 10 日 @multiple1902 正解,苹果的阅读器用的是神经网络实现的 |
6 max0ne 2015 年 3 月 10 日 |
7 jinchun 2015 年 3 月 10 日 网站DOM结构越接近标准越好折腾。。 |
9 fourj 2015 年 3 月 10 日 @ryanking8215 感觉会是去css & style,保留tag,增加自己的样式。 实现正文提取,比较困难的是找到正文,和去掉噪音内容,都需要不少策略~ 推荐个开源项目: https://code.google.com/p/boilerpipe/ |
10 babyname 2015 年 3 月 10 日 内容萃取 |
11 metrue 2015 年 3 月 10 日 最近也开始这样做这样子的项目,目前使用的方法也只是去掉样式,留下tag方式,坐等更好的解决方案。 |
12 laoyuan 2015 年 3 月 10 日 不行就弄个网页做黑盒 |
13 zj299792458 2015 年 3 月 10 日 via iPhone html的<p>不就是正文? |
14 JoeShu 2015 年 3 月 10 日 据我作爬虫的经验,提供几个思路 2. 一般阅读的正文都有一定的特征,比如含有标题,正文一般是整个页面最长的,包含很多特征标签(如<p>等), js代码很少等等,根据这些特征可以计算出页面上正文部分的位置。好处是可以离线处理,缺点是识别率可能稍低。 实际应用很可能是多种方式的叠加。 |
15 alsotang 2015 年 3 月 10 日 @zj299792458 印象中 div 里面才是 |
16 KyL OP |
17 sundyli 2017 年 7 月 24 日 html2article 算法, 可以基于文本密度实现, 我撸了一个 https://github.com/sundy-li/html2article |