首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

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

  •  3
     
  •   alexapollo · 2015-12-08 14:34:27 +08:00 · 4295 次点击
    这是一个创建于 1462 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    第 1 条附言  ·  2015-12-09 10:34:56 +08:00

    回答维基:
    * boilerpipe(2012~now): http://stackoverflow.com/a/10323254/2245019
    * readability(2010~now): https://github.com/kingwkb/readability
    * cx-extractor(2010~2013): https://code.google.com/p/cx-extractor/

    这是本文回复提到的主要几个。如有需要我再完善。

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

    https://ooo.0o0.ooo/2015/12/08/5666dad9e2208.png
        19
    SmiteChow   2015-12-09 16:29:58 +08:00
    @dongoo 😄
        20
    yh7gdiaYW   2015-12-09 21:08:31 +08:00
    @dongoo
    我的倒是正确提取了主题,该更新了?
        21
    jayli517   2018-02-05 13:22:06 +08:00
    @dongoo 大部分的时候印象笔记都是正常的,实在不正常的时候就只能尝试选择或者复制粘贴了
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1358 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 26ms · UTC 23:42 · PVG 07:42 · LAX 15:42 · JFK 18:42
    ♥ Do have faith in what you're doing.