• 请不要在回答技术问题时复制粘贴 AI 生成的内容
dsphper
V2EX  ›  程序员

微信阅读网页版的骚操作

  •  1
     
  •   dsphper ·
    dsphperr · Nov 25, 2019 · 7986 views
    This topic created in 2389 days ago, the information mentioned may be changed or developed.

    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/

    Supplement 1  ·  Dec 12, 2019

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

    开启简洁阅读模式:

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

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

    复制到编辑器阅读:

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

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

    27 replies    2023-05-07 21:25:53 +08:00
    Les1ie
        1
    Les1ie  
       Nov 25, 2019
    厉害
    shintendo
        2
    shintendo  
       Nov 25, 2019   ❤️ 2
    截屏 OCR 一剑破万法
    shintendo
        3
    shintendo  
       Nov 25, 2019
    话说,这个用脚本计算一下相对位置也不难还原吧,毕竟最终显示效果是整齐的,是不是还不如那种替换字体的?
    run2
        4
    run2  
       Nov 25, 2019
    都是防菜鸟不防高手的, 也没那个时间去耗这些吧
    suisetai
        5
    suisetai  
       Nov 25, 2019 via iPhone
    这个还原出来 没有换行和空格吧……
    hiluxi
        6
    hiluxi  
       Nov 25, 2019
    这么做的目的是什么?
    tonnycao
        7
    tonnycao  
       Nov 25, 2019
    做免费小说的还是有兴趣的
    yingqi7
        8
    yingqi7  
       Nov 25, 2019 via iPhone
    @hiluxi 这样做增加了一点盗版门槛,相应的盗版流出会少很多,保障微信阅读可以长期留存大量用户。
    672795574
        9
    672795574  
       Nov 25, 2019
    $$('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  
       Nov 25, 2019
    很多网文站的常规反扒操作
    annielong
        11
    annielong  
       Nov 25, 2019
    直接 ocr,看起来字体很标准,应该识别率比价高,当年某点那种 ocr 不出来,直接截图传播
    hiluxi
        12
    hiluxi  
       Nov 25, 2019
    每个字都要算位置? 这样对浏览器要求太高了。。。
    malthae
        13
    malthae  
       Nov 25, 2019
    OCR 有什么推荐的吗
    xuelang
        14
    xuelang  
       Nov 25, 2019
    定位方法略简陋,估计很快就会升级了
    twelvechen
        15
    twelvechen  
       Nov 25, 2019
    话说微信读书时长换书币的政策又变了
    Telegram
        16
    Telegram  
       Nov 25, 2019
    @hiluxi #12 看小说时,一页也就几百个字,对现在手机性能来说,定位这几百个字,消耗不大。
    Telegram
        17
    Telegram  
       Nov 25, 2019
    @hiluxi #12 好吧,我错了,PC 端浏览可以往下滚动,一个章节,几万个字,直接上万个 Nodes
    136608135
        18
    136608135  
       Nov 25, 2019
    想用这个挡住一小部分人吧。
    AX5N
        19
    AX5N  
       Nov 25, 2019
    “不过好像然并软,几行代码就能还原了。”
    你慢慢还原吧,微信悄咪咪改一下算法你都不知道,就算知道你还得跟着改。
    gltjk
        20
    gltjk  
       Nov 25, 2019
    看了看源代码,在开发者工具里试了试,发现最简单的方法是拿到混淆之前的代码😂:__INITIAL_STATE__.reader.chapterContentHtml
    markx
        21
    markx  
       Nov 26, 2019
    好是好,就是 js 太高级了。 有没有办法在 kindle 的浏览器里面用?
    markx
        22
    markx  
       Nov 26, 2019
    @markx 呃…… 👆 我不是指还原内容的骚操作, 我是指有没有办法可以在 kindle 里用微信阅读网页版。
    LeoooY
        23
    LeoooY  
       Nov 26, 2019
    6666
    yopv2
        24
    yopv2  
       Nov 26, 2019
    很好的解决了我部分文字要复制的需求
    xunli
        25
    xunli  
       Dec 11, 2019
    已经改成 canvas 实现了
    dsphper
        26
    dsphper  
    OP
       Dec 12, 2019
    @xunli 看我的 Append
    Bronts
        27
    Bronts  
       May 7, 2023
    __INITIAL_STATE__.reader.chapterContentHtml
    这个好像也没了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3931 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 110ms · UTC 05:09 · PVG 13:09 · LAX 22:09 · JFK 01:09
    ♥ Do have faith in what you're doing.