Q:印象笔记剪藏的只保持网页正文的功能是怎么实现的?

2015-12-08 14:34:27 +08:00
 alexapollo

有人分析过吗?做得很强,基本没有错过。

5515 次点击
所在节点    程序员
21 条回复
rokeyzki
2015-12-08 14:38:31 +08:00
相比之下,为知的网页剪藏就做的不好
Livid
2015-12-08 14:39:09 +08:00
讲一个基本的算法思路:遍历所有的 DOM 节点(忽略部分,比如 p 和 span ,主要关注 div 和 td ),找出其中正文信息量最大的一个。
iiduce
2015-12-08 14:55:05 +08:00
rokeyzki
2015-12-08 14:56:29 +08:00
icedx
2015-12-08 15:08:07 +08:00
napsterwu
2015-12-08 15:09:09 +08:00
《数学之美》
polythene
2015-12-08 15:18:48 +08:00
我用打分的方式实现了一个 python 的版本 https://github.com/polyrabbit/hacker-news-digest/tree/master/page_content_extractor 目前看来提取正文的准确率还不错
alexapollo
2015-12-08 17:02:25 +08:00
@Livid
1. 广告很多时候信息量也很大,使用 adblock 来排除吗?
2. 像这篇帖子,它可以准确抽出帖子主体,但评论实际占了大头,这种情况怎么判断“正文信息量”?
Livid
2015-12-08 17:05:21 +08:00
@alexapollo 具体是如何做到的我也不清楚细节。但是正文的出现位置是有规律可循的,比如从顺序来说,出现在 h1 之后信息量最大的一个 div 是正文的可能性较高。
alexapollo
2015-12-08 17:06:33 +08:00
@rokeyzki 很有用,有 python 的版本吗
@icedx 是你写的?
@polythene 很有趣,晚上我看看,刚好我也在做 PDF 抽取
@napsterwu 有看过,没说到这个吧
fractal314
2015-12-08 17:13:53 +08:00
我也在想这个问题,好像有种算法是计算文本密度,不过我觉得计算链接数量,统计正文对应的标签应该也有效果
knightdf
2015-12-08 17:37:57 +08:00
python 有个 dragnet
KyleMeow
2015-12-08 17:50:03 +08:00
Biwood
2015-12-08 17:54:16 +08:00
应该是根据文本量来计算的,比如现在这个页面,我点了一下剪藏,结果选中了右下角的 100offer 的广告,目测当前页面上就是这个广告元素的文本内容最丰富
alexapollo
2015-12-08 17:55:09 +08:00
@Biwood 我的 adblock 默认把广告过滤了,应该有这个不同
rokeyzki
2015-12-08 17:56:06 +08:00
ytf
2015-12-08 19:19:37 +08:00
dongoo
2015-12-08 21:28:40 +08:00
试了一下印象笔记的剪藏功能,网页正文居然是右边的广告。。。

https://ooo.0o0.ooo/2015/12/08/5666dad9e2208.png
SmiteChow
2015-12-09 16:29:58 +08:00
@dongoo 😄
yh7gdiaYW
2015-12-09 21:08:31 +08:00
@dongoo
我的倒是正确提取了主题,该更新了?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/241986

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX