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

小白求助,百度指数的数据的加密原理

  •  
  •   seanzzz · 2019-01-28 00:13:09 +08:00 · 1950 次点击
    这是一个创建于 2135 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近课程项目要用到指数数据,所以在爬取百度指数,现在知道怎么动态渲染获取数据了
    但是很好奇,网页返回的 xhr 文件的 data 数据的加密原理,求助大佬
    kiddult
        1
    kiddult  
       2019-01-28 11:18:27 +08:00   ❤️ 2
    就是个简单映射

    返回的结果里面有个 uniqid,用这个去 ptbk 接口换映射表,映射表前一半字符对应后一半字符,把 data 的数据转换一下就行

    ```python
    >>> m = list('xI3Rnp40+iCkHaD,9-3710.6245+8%')
    >>> v = 'iCakkkkxpCkapkixIpk+R+x+iRkpCxpCiakIIxInIinpxI4aaRkxai4RRnx+RCk4pxnpCaCRxkakn4pxa4+I4ixRpk4Ipxn+CIInaxiknCCnkxC4ap+axIC+I+axkCankixpppnpRIxpikC+iixan+4kpxp444Rk+xppRp+Cnx+iiiaRxpp4CnRIxpkpiRRnxiRCn++4xIR4pkkxpCRR+CRxpnkni+n'
    >>> d = dict(zip(m[:len(m)//2:], m[len(m)//2::]))
    >>> ''.join(map(lambda x: d[x], v))
    '2485555,1458152,915636,623514,1428599,979271,908835,820337,634501,714843,585701,806902,315091,7649978,2574475,408168,946968,548752,1117139,1254622,876051,1000356,1131647,622283,1104739,1512337,2347660,930155,1433643,1757267'
    ```
    kiddult
        2
    kiddult  
       2019-01-28 11:20:49 +08:00
    顺便吐槽一下,难怪前端喜欢 chrome,ff 调试的时候居然不能根据美化之后的 js 设置断点,然后还有那个坑爹的网络页面不能调节文件名栏的宽度
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   920 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 22:26 · PVG 06:26 · LAX 14:26 · JFK 17:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.