爬虫中出现的字体反爬,有大佬知道这是什么字体吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dapengzhao
V2EX    问与答

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

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

    "":"", "":"", "":"", "":"", "":"",

    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     Solana     3744 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 00:06 PVG 08:06 LAX 16:06 JFK 19:06
    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