爬虫爬到这种 [数字] ,该如何解决? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
LeungJZ
V2EX    前端开发

爬虫爬到这种 [数字] ,该如何解决?

  •  
  •   LeungJZ
    JZLeung 2018-04-14 16:33:16 +08:00 3434 次点击
    这是一个创建于 2827 天前的主题,其中的信息可能已经有所发展或是发生改变。

    正在学习爬虫,然后发页面上看上去比较正常的数字,原来暗藏玄机。

    这特么的不是正经数字!!!!!!!

    image.png

    右键选择后,就发现了奇怪的现象,浏览器菜单根本识别不出来这是什么东西。

    然后查看源代码发现,好像是一种自定义的字体。

    <span class="dzfoYFxr"> &#100333;&#100330;&#100330;&#100338;&#100331;&#100330; </span> <cite>万字</cite> 

    而且,每次刷新都是不一样的。

    刷新后是这样的:

    <span class="xVHrzwwr"> &#100518;&#100516;&#100516;&#100512;&#100519;&#100516; </span> <cite>万字</cite> 

    查看元素可以发现真的是字体。 image.png

    那么,请问,这种情况该如何解决?

    18 条回复    2018-04-15 11:18:55 +08:00
    ccino
        1
    ccino  
       2018-04-14 16:44:34 +08:00
    等高手吧,我没想出来办法。。。。。。。。
    whileFalse
        2
    whileFalse  
       2018-04-14 16:53:42 +08:00
    ocr 啊。
    Hzzone
        3
    Hzzone  
       2018-04-14 16:57:30 +08:00 via iPhone
    截图 ocr
    takato
        4
    takato  
       2018-04-14 16:59:07 +08:00
    1.OCR
    2.可以考虑实现一个模型 train 一下看看 class 的值和&#后的数字有没有线性或非线性关系。
    xzc0001
        5
    xzc0001  
       2018-04-14 16:59:35 +08:00
    直接映射?是不是每个数字只用了一个或者几个对应字体里的字符?可以单独写个函数去转这个数字。
    LeungJZ
        6
    LeungJZ  
    OP
       2018-04-14 17:06:49 +08:00
    @xzc0001
    映射估计不行,因为每次刷新后就会变的。


    @whileFalse
    @Hzzone
    @takato
    爬虫还要加上 ocr 岂不是分分钟超时?还费钱。
    m939594960
        7
    m939594960  
       2018-04-14 17:14:03 +08:00
    解析字体文件啊?
    xujialiang
        8
    xujialiang  
       2018-04-14 17:25:53 +08:00 via iPhone
    找 js 里的方法,看它们怎么解析的,抄过来
    sujin190
        9
    sujin190  
       2018-04-14 17:32:19 +08:00
    自定义字体,这个加密牛逼啊,有想法,但是每次生成字体文件应该挺耗资源的吧,那么就不可能有太多份才是,写个脚本刷新试试,看看会不会遇到重复的
    crab
        10
    crab  
       2018-04-14 17:39:05 +08:00
    EPr2hh6LADQWqRVH
        11
    EPr2hh6LADQWqRVH  
       2018-04-14 17:42:15 +08:00
    这个思路 nice 啊,学习一个
    LeungJZ
        12
    LeungJZ  
    OP
       2018-04-14 17:54:36 +08:00
    @xujialiang
    没有 js 操作,完全的 ssr。在 console 里面打开 diabled javascirpt 一样能渲染出来的。
    LeungJZ
        13
    LeungJZ  
    OP
       2018-04-14 17:55:34 +08:00
    @sujin190
    应该不是每次都生成,但是可能有大量已经生成好的字体文件,已经分散在 cdn 上了。每次输出只要随便取一个就可以了。
    LeungJZ
        14
    LeungJZ  
    OP
       2018-04-14 17:58:54 +08:00
    @crab
    确实,猫眼的也是这样的,但是,很容易就破了,因为他每次引入的字体文件都是一样的,字体都是 stonefont。而这里却每刷新一次就有新的文件。
    boboliu
        15
    boboliu  
       2018-04-14 18:15:58 +08:00 via Android
    可以同时直接解析 TTF 然后比对字形识别
    l0ng
        16
    l0ng  
       2018-04-14 23:59:34 +08:00
    我发现网易云音乐网页版的歌名加入了特殊字符

    <b title="不为谁而作的歌">不为<div class="soil">蟊</div>谁而作的歌</b>
    Trim21
        17
    Trim21  
       2018-04-15 05:19:41 +08:00 via Android
    @l0ng …网易这样有意思吗,直接抓 tag 的属性不就行了
    projectzoo
        18
    projectzoo  
       2018-04-15 11:18:55 +08:00
    我的第一想法就是设置得是字体,毕竟 浏览器 可以无痛解析。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2597 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 01:52 PVG 09:52 LAX 17:52 JFK 20:52
    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