V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
dapengzhao
V2EX  ›  问与答

곚 뷊 첪 곍 ꯋ 爬虫中出现的字体反爬,有大佬知道这是什么字体吗?

  •  1
     
  •   dapengzhao · 2018-09-11 15:10:04 +08:00 · 3420 次点击
    这是一个创建于 2291 天前的主题,其中的信息可能已经有所发展或是发生改变。

    "곚":"곚", "뷊":"뷊", "첪":"첪", "곍":"곍", "ꯋ":"ꯋ",

    14 条回复    2018-09-11 15:59:18 +08:00
    troywith77
        1
    troywith77  
       2018-09-11 15:11:34 +08:00 via Android
    前面是韩语,后面两个不知道
    dapengzhao
        2
    dapengzhao  
    OP
       2018-09-11 15:27:38 +08:00
    @troywith77 应该不是汉语是一种字符
    dapengzhao
        3
    dapengzhao  
    OP
       2018-09-11 15:27:47 +08:00
    ETiV
        4
    ETiV  
       2018-09-11 15:29:59 +08:00 via iPhone
    你装个韩语输入法
    我可以教你打出前面这几个字来
    manzhiyong
        5
    manzhiyong  
       2018-09-11 15:30:09 +08:00
    是 css 反扒,你抓回来的和视觉上那个位置的文字不一样,被 css 里指定的字体文件替换掉了。
    dapengzhao
        6
    dapengzhao  
    OP
       2018-09-11 15:32:11 +08:00
    @ETiV 这只是一小部分,还有很多不是应该不是韩文,每个都对应一种 Unicode 码,是一种映射表
    dapengzhao
        7
    dapengzhao  
    OP
       2018-09-11 15:33:07 +08:00
    @manzhiyong 对,就是遇到字体反爬了,现在卡住了,下载下它网站的字符集不知道该如何解析了
    ynyounuo
        8
    ynyounuo  
       2018-09-11 15:36:46 +08:00
    @dapengzhao
    不知道是什么字符的可以在这里搜
    https://unicode.org/cldr/utility/character.jsp
    kurtrossel
        9
    kurtrossel  
       2018-09-11 15:37:04 +08:00
    谚文

    https://zh.m.wikipedia.org/wiki/%E8%AB%BA%E6%96%87

    朝鲜语现有 11172 个音节可用,实际上这些音节并没有被全部使用。
    manzhiyong
        10
    manzhiyong  
       2018-09-11 15:41:00 +08:00
    抓回来的是什么一点都不重要,可以是认为语种,任意字符,反正都要被覆盖掉,可以是随机的。关键是字体是不是随机的,如果不是随机的,你人肉 ocr 一下,记住字体位置,是可以破解这种反扒的。如果 css 里的字体文件也会变,字体文件也是随机生成的,就非常麻烦了。
    dapengzhao
        11
    dapengzhao  
    OP
       2018-09-11 15:46:14 +08:00
    @manzhiyong 这是快手的反爬,目前知道的是每次加载的字体库可能会变(已经知道的 5 种了,应该还有更多),还有就是将这些字体库下载下来打开会发现数字对应的 Unicode 码也是会变的。从 xml 里看能找到映射关系但是数字的位置一直在变不知道该咋办了。
    manzhiyong
        12
    manzhiyong  
       2018-09-11 15:50:07 +08:00
    理论上他们特异字体的数量应该是有极限的,你试尽量多次,可以把所有字体都下全,然后人工或 ocr 识别出来,就可以破解了。但是如果对方的特异字体也在不断扩充中,就无解了,必然有错误率了。
    dapengzhao
        13
    dapengzhao  
    OP
       2018-09-11 15:53:50 +08:00
    @manzhiyong 他们的映射是这样的 特殊字符《==一对一==》 Unicode 码《==多对多==》数字,网页上显示的数字都被特殊字符代替了。现在无法找到每次返回的字库中 Unicode 码跟数字有什么联系,头大。
    manzhiyong
        14
    manzhiyong  
       2018-09-11 15:59:18 +08:00
    我上次也有这种需求,但是分析出成本太高后就放弃了。这个需要你自己掌握字体知识,得花时间学习下了,我当时没有继续研究下去,不过思考过解决办法。就是通过字体文件,取得异体字的字符串或图形编码二进制字符串的 md5 值,做成对应真实字义的字典。抓取的时候通过计算该字体的 md5 值在字典里去取真实字义。你可以按照这个思路研究一下,是否可行。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5306 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 07:01 · PVG 15:01 · LAX 23:01 · JFK 02:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.