阅读模式是如何实现的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
请不要在回答技术问题时复制粘贴 AI 生成的内容
acoder2013

阅读模式是如何实现的?

  •  
  •   acoder2013
    aCoder2013 Sep 26, 2015 5727 views
    This topic created in 3870 days ago, the information mentioned may be changed or developed.

    类似 UC ,知乎日报这种,根据 URL 就能够自动提取出正文,然而每一个来源的排版都不同,该怎样去实现呢

    12 replies    2015-09-28 11:52:30 +08:00
    ss098
        1
    ss098  
       Sep 26, 2015
    据个人推测可能是识别 schema.org 或者 HTML 5 的 Article 标签。
    9hills
        2
    9hills  
       Sep 26, 2015
    搜正文提取算法,有很多文章和代码
    acoder2013
        3
    acoder2013  
    OP
       Sep 26, 2015
    @9hills 看了几篇论文,采用了 cx-extractor ,正在考虑怎么把提取到的无标签正文恢复到原来的格式,尽量保持原来的图片,格式这些
    xmgit
        4
    xmgit  
       Sep 26, 2015
    很奇怪,在个人博客上,大部分文章能触发阅读模式,部分文章确在其中的代码部分被触发,而少量的文章压根不会被触发

    <article>标签触发不靠谱
    zhicheng
        5
    zhicheng  
       Sep 26, 2015
    TextArea.com 也支持阅读模式,几乎完美显示的,应该与 html 写法有关系吧。
    polythene
        6
    polythene  
       Sep 26, 2015   1
    我做 hacker news digest ( http://www.hackernews.im/ )的时候也用到了正文提取,具体的实现你可以参考一下 https://github.com/polyrabbit/hacker-news-digest/tree/master/page_content_extractor

    主要思想就是给标签打分,最终选出最有可能是正文的那个标签。因为一个标签是不是正文你不能仅看它的名字,不能说这个标签是<article>就认为它是正文,还要看它的属性等别的因素。
    orcusfox
        7
    orcusfox  
       Sep 27, 2015
    看数学之美啊
    acoder2013
        8
    acoder2013  
    OP
       Sep 27, 2015
    @polythene Python 就以前简单学了语法,看的好累
    acoder2013
        9
    acoder2013  
    OP
       Sep 27, 2015
    @napsterwu 这本书有讲这方面的吗,还没时间看
    kankana
        10
    kankana  
       Sep 27, 2015
    @polythene 所的是 readability 算法?
    paperpeper
        11
    paperpeper  
       Sep 28, 2015
    我用过两个办法,简单一点的办法就是针对 html 分析,直接 xpath 提取,不过拓展性不好。还有一个办法就是对文章分片,提取特征获取正文,这种办法拓展性好,但是可能对某些网站还是会展示的不完美。
    polythene
        12
    polythene  
       Sep 28, 2015   1
    @kankana 比 readability 算法准确度高很多, readability 对一些排版混乱的中文网页根本提取不出什么,而这个方法可以提取很多奇葩网页的正文,至少 hacker news 上提交的页面大多都是可以正确提取的。
    About     Help     Advertise     Blog     API     FAQ     Solana     2464 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 72ms UTC 05:53 PVG 13:53 LAX 22:53 JFK 01:53
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86