
DOM 打乱,每个文字用 top left 定位的.  
 比之前的百度文库部分文字用图片替换的思路兼容性方面强了不止一点。
不过好像然并软,几行代码就能还原了。
 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/开启简洁阅读模式:
document.getElementsByTagName('html')[0].innerHTML=__INITIAL_STATE__.reader.chapterContentHtml 复制到编辑器阅读:
document.getElementsByTagName('html')[0].innerText 感谢@gltjk 老哥找出混淆前的变量,
|  |      1Les1ie      2019-11-25 12:35:22 +08:00 厉害 | 
|  |      2shintendo      2019-11-25 13:02:59 +08:00  2 截屏 OCR 一剑破万法 | 
|  |      3shintendo      2019-11-25 13:05:13 +08:00 话说,这个用脚本计算一下相对位置也不难还原吧,毕竟最终显示效果是整齐的,是不是还不如那种替换字体的? | 
|  |      4run2      2019-11-25 13:15:01 +08:00 都是防菜鸟不防高手的, 也没那个时间去耗这些吧 | 
|  |      5suisetai      2019-11-25 13:16:58 +08:00 via iPhone 这个还原出来 没有换行和空格吧…… | 
|      6hiluxi      2019-11-25 14:25:10 +08:00 这么做的目的是什么? | 
|  |      7tonnycao      2019-11-25 14:27:42 +08:00 做免费小说的还是有兴趣的 | 
|      9672795574      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 目的是复制和黏贴吧 | 
|      10dioxide      2019-11-25 14:43:45 +08:00 很多网文站的常规反扒操作 | 
|      11annielong      2019-11-25 15:11:23 +08:00 直接 ocr,看起来字体很标准,应该识别率比价高,当年某点那种 ocr 不出来,直接截图传播 | 
|      12hiluxi      2019-11-25 15:19:51 +08:00 每个字都要算位置? 这样对浏览器要求太高了。。。 | 
|  |      13malthae      2019-11-25 15:23:16 +08:00 OCR 有什么推荐的吗 | 
|  |      14xuelang      2019-11-25 16:33:58 +08:00 定位方法略简陋,估计很快就会升级了 | 
|  |      15twelvechen      2019-11-25 19:08:21 +08:00 话说微信读书时长换书币的政策又变了 | 
|      18136608135      2019-11-25 19:38:44 +08:00 想用这个挡住一小部分人吧。 | 
|      19AX5N      2019-11-25 19:40:02 +08:00 “不过好像然并软,几行代码就能还原了。” 你慢慢还原吧,微信悄咪咪改一下算法你都不知道,就算知道你还得跟着改。 | 
|      20gltjk      2019-11-25 21:33:00 +08:00 看了看源代码,在开发者工具里试了试,发现最简单的方法是拿到混淆之前的代码:__INITIAL_STATE__.reader.chapterContentHtml | 
|      21markx      2019-11-26 08:14:37 +08:00 好是好,就是 js 太高级了。 有没有办法在 kindle 的浏览器里面用? | 
|      23LeoooY      2019-11-26 09:51:11 +08:00 6666 | 
|  |      24yopv2      2019-11-26 16:36:20 +08:00 很好的解决了我部分文字要复制的需求 | 
|  |      25xunli      2019-12-11 19:51:18 +08:00 已经改成 canvas 实现了 | 
|      27Bronts      2023-05-07 21:25:53 +08:00 __INITIAL_STATE__.reader.chapterContentHtml 这个好像也没了 |