十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要介绍“Python爬虫某指数分析平台解密逻辑分析”,在日常操作中,相信很多人在Python爬虫某指数分析平台解密逻辑分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python爬虫某指数分析平台解密逻辑分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
10年积累的网站设计、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有宜昌免费网站建设让你可以放心的选择与我们合作。
先来看看需要分析的结果,可以看到页面是存在时间轴与指数值两个值的,我们现在就是要抓取这个指数轴的值
经过简单分析,看到下面这个请求有一串的data
值是以密文的形式返回的,我们大胆猜测这就是加密的返回结果,页面一定存在解密的逻辑来解密这段data
可以看到这个加密的结果是有 3 段,分别是pc
、all
与wise
,这里解密的逻辑用的应该是同一个,所以我们只要分析一个出来就行了。
分别搜索data
、pc
、wise
等关键次都没有找到加密的逻辑,xhr
断点也试了,也没有找解密的逻辑。
通过参考之前写过的
稀牛数据
的文章还有我在之前写过的一些基础文章中提到的可以通过检索加解密
的关键词来定位的思路
突然想到还有解密的关键词decrypt
可以再试试
果不其然,让我找到了下面这些结果
我追进去打上断点,果然就是我们需要的逻辑(希望所有的前端工程师都能写好注释)
也可以通过堆栈找到上一层逻辑来确认
这个逻辑很清楚,我们直接复制出来看看能不能解密
完事,这个逻辑非常简单
这个逻辑也可以复写成Python
版本
def decrypt_data(password, data):
n = list(password)
i = list(data)
a = {}
result = []
ln = int(len(n) / 2)
start = n[ln:]
end = n[:ln]
for j, k in zip(start, end):
a.update({k: j})
for j in data:
result.append(a.get(j))
return ''.join(result)