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

今天看见一个奇怪的网页显示

  •  
  •   fuxinya · 154 天前 · 2972 次点击
    这是一个创建于 154 天前的主题,其中的信息可能已经有所发展或是发生改变。

    浏览一个网站, 复制文字后发现是乱码, 但是网页却显示正常, F12 看了下网页文档源码, 确实是乱码, 但是 Chrome 浏览器渲染显示时为什么又正常了呢? 这个防爬虫的技术还是第一次见.

    gjqJs0.png

    抓取网络请求, 服务器返回的是这段文字 A:

    [(] |tscl6qaa| [、] |tco63lkb| [、] |clh6lq91| [、] |jcg6rpb9|cs6mifl7| [专] |stcp6s24|jcpnj688|hpjtc6f6|skqpc6f7|lc6olrd0| [可] | [为] |tckp6eh7|ric6fkr7| [或] | [相] |ic6q8lo8|ckr6hif7|sokjc6d0| [,] |lcplh649| [他] | [专] |ocn6t2m4| [考] |c6skqci7| [入] | [校] |co6in4l5|pc6sjg46| [外] |hc6gfkm7|cr6nmaj4|c6js7lo4|mct6orf7|cmg6kid0| [为] |nlocj6e7|cln6gof7| [。] | [)] |

    然后应该是经 JS 处理下, DOM 里面变成下面这段文字 B:

    욷南왯왴(왝욛웚单列专오왉它)(఼఺఺ఴ)((욪、옻、욑、욹웷专오욈웶웷원可为웧웷或相욈웷원왉他专오考웇入校왅왆外웷욤왴웷원为웧웷。))



    最后渲染到显示器上是正常文字 C. 这段文字即经过了 A → B → C 的转化.

    很好奇 B → C 实现的原理?

    13 条回复    2021-05-24 22:43:02 +08:00
    mercury233
        1
    mercury233   154 天前
    换了特殊字体
    karloku
        2
    karloku   154 天前
    应该是字体. 看看如果每次都一样的话可以自己存个映射.
    madpecker009
        3
    madpecker009   154 天前
    百度文库是不是也是这样技术啊
    fuxinya
        4
    fuxinya   154 天前
    @mercury233 确实, 刚看了 css 样式里面是 `font-family: cntext5!important;`
    futureeent
        5
    futureeent   154 天前
    记得斗鱼里的数字也是这样的
    caomu
        6
    caomu   154 天前 via Android   ❤️ 1
    硬要爬就 OCR 一把梭……
    phony2r
        7
    phony2r   154 天前
    特殊字体, 一般为了防爬虫
    archonxp
        8
    archonxp   154 天前   ❤️ 8
    leeyuzhe
        9
    leeyuzhe   154 天前
    长见识了
    magese
        10
    magese   154 天前
    长见识了
    imn1
        11
    imn1   154 天前   ❤️ 1
    这招现世好久了,以前少人用是因为中文字多,字体文件大,网速慢
    后来有人学乖了,不需要全部中文都替换,替换部分频率高的字就足够了,只要“机器阅读困难”就可以了
    fxxkgw
        12
    fxxkgw   154 天前
    学习了
    wzzzx
        13
    wzzzx   153 天前
    @archonxp #8 这个写的真好!
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2585 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 14:35 · PVG 22:35 · LAX 07:35 · JFK 10:35
    ♥ Do have faith in what you're doing.