微信阅读网页版的骚操作 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
dsphper
V2EX    程序员

微信阅读网页版的骚操作

  •  1
     
  •   dsphper
    dsphperr 2019-11-25 11:54:31 +08:00 7512 次点击
    这是一个创建于 2166 天前的主题,其中的信息可能已经有所发展或是发生改变。

    DOM 打乱,每个文字用 top left 定位的. avatar 比之前的百度文库部分文字用图片替换的思路兼容性方面强了不止一点。

    不过好像然并软,几行代码就能还原了。

     var list = {}; var all = document.getElementsByClassName('absolute'); for( var i=0;i<=all.length;i++) { try { var iT = all[i].offsetTop; var iL = all[i].offsetLeft; var text = all[i].innerText; if(list.hasOwnProperty(iT)) { list[iT][iL] = text; } else { list[iT] = {}; list[iT][iL] = text; } } catch(error) { } } for (key in list) { console.log(Object.values(list[key]).join("")); } 

    微信阅读:https://weread.qq.com/

    第 1 条附言    2019-12-12 10:50:46 +08:00

    微信阅读改成了canvas渲染了,卡的我的小mac风扇呼呼转,现给出简洁阅读模式开启方法,

    开启简洁阅读模式:

    document.getElementsByTagName('html')[0].innerHTML=__INITIAL_STATE__.reader.chapterContentHtml 

    也可以复制到自己喜欢的编辑器阅读

    复制到编辑器阅读:

    document.getElementsByTagName('html')[0].innerText 

    感谢@gltjk 老哥找出混淆前的变量,

    27 条回复    2023-05-07 21:25:53 +08:00
    Les1ie
        1
    Les1ie  
       2019-11-25 12:35:22 +08:00
    厉害
    shintendo
        2
    shintendo  
       2019-11-25 13:02:59 +08:00   2
    截屏 OCR 一剑破万法
    shintendo
        3
    shintendo  
       2019-11-25 13:05:13 +08:00
    话说,这个用脚本计算一下相对位置也不难还原吧,毕竟最终显示效果是整齐的,是不是还不如那种替换字体的?
    run2
        4
    run2  
       2019-11-25 13:15:01 +08:00
    都是防菜鸟不防高手的, 也没那个时间去耗这些吧
    suisetai
        5
    suisetai  
       2019-11-25 13:16:58 +08:00 via iPhone
    这个还原出来 没有换行和空格吧……
    hiluxi
        6
    hiluxi  
       2019-11-25 14:25:10 +08:00
    这么做的目的是什么?
    tonnycao
        7
    tonnycao  
       2019-11-25 14:27:42 +08:00
    做免费小说的还是有兴趣的
    yingqi7
        8
    yingqi7  
       2019-11-25 14:30:36 +08:00 via iPhone
    @hiluxi 这样做增加了一点盗版门槛,相应的盗版流出会少很多,保障微信阅读可以长期留存大量用户。
    672795574
        9
    672795574  
       2019-11-25 14:32:07 +08:00
    $$('span[data-wr-id]').sort((a,b)=>a.style.top != b.style.top ? parseInt(a.style.top) - parseInt(b.style.top) : parseInt(a.style.left) - parseInt(b.style.left)).map(s=>s.textContent).join('')


    @hiluxi 目的是复制和黏贴吧
    dioxide
        10
    dioxide  
       2019-11-25 14:43:45 +08:00
    很多网文站的常规反扒操作
    annielong
        11
    annielong  
       2019-11-25 15:11:23 +08:00
    直接 ocr,看起来字体很标准,应该识别率比价高,当年某点那种 ocr 不出来,直接截图传播
    hiluxi
        12
    hiluxi  
       2019-11-25 15:19:51 +08:00
    每个字都要算位置? 这样对浏览器要求太高了。。。
    malthae
        13
    malthae  
       2019-11-25 15:23:16 +08:00
    OCR 有什么推荐的吗
    xuelang
        14
    xuelang  
       2019-11-25 16:33:58 +08:00
    定位方法略简陋,估计很快就会升级了
    twelvechen
        15
    twelvechen  
       2019-11-25 19:08:21 +08:00
    话说微信读书时长换书币的政策又变了
    Telegram
        16
    Telegram  
       2019-11-25 19:29:18 +08:00
    @hiluxi #12 看小说时,一页也就几百个字,对现在手机性能来说,定位这几百个字,消耗不大。
    Telegram
        17
    Telegram  
       2019-11-25 19:32:34 +08:00
    @hiluxi #12 好吧,我错了,PC 端浏览可以往下滚动,一个章节,几万个字,直接上万个 Nodes
    136608135
        18
    136608135  
       2019-11-25 19:38:44 +08:00
    想用这个挡住一小部分人吧。
    AX5N
        19
    AX5N  
       2019-11-25 19:40:02 +08:00
    “不过好像然并软,几行代码就能还原了。”
    你慢慢还原吧,微信悄咪咪改一下算法你都不知道,就算知道你还得跟着改。
    gltjk
        20
    gltjk  
       2019-11-25 21:33:00 +08:00
    看了看源代码,在开发者工具里试了试,发现最简单的方法是拿到混淆之前的代码:__INITIAL_STATE__.reader.chapterContentHtml
    markx
        21
    markx  
       2019-11-26 08:14:37 +08:00
    好是好,就是 js 太高级了。 有没有办法在 kindle 的浏览器里面用?
    markx
        22
    markx  
       2019-11-26 08:15:54 +08:00
    @markx 呃…… 我不是指还原内容的骚操作, 我是指有没有办法可以在 kindle 里用微信阅读网页版。
    LeoooY
        23
    LeoooY  
       2019-11-26 09:51:11 +08:00
    6666
    yopv2
        24
    yopv2  
       2019-11-26 16:36:20 +08:00
    很好的解决了我部分文字要复制的需求
    xunli
        25
    xunli  
       2019-12-11 19:51:18 +08:00
    已经改成 canvas 实现了
    dsphper
        26
    dsphper  
    OP
       2019-12-12 10:58:21 +08:00
    @xunli 看我的 Append
    Bronts
        27
    Bronts  
       2023-05-07 21:25:53 +08:00
    __INITIAL_STATE__.reader.chapterContentHtml
    这个好像也没了
    关于     帮助文档    自助推广系统     博客     API     FAQ     Solana     5629 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 03:01 PVG 11:01 LAX 20:01 JFK 23:01
    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