python爬虫之JS逆向基础小案例:网抑云数据获取

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取

所用软件

  • 解释器: python 3.8

  • 编辑器: pycharm 2022.3

使用的模块

第三方模块:

  • requests >>> 数据请求

  • execjs >>> pip install pyexecjs

内置模块(无需安装):

  • nodejs

模块安装:

win + R 输入cmd 输入安装命令 pip install 模块名 (如果你觉得安装速度比较慢, 你可以切换国内镜像源)

JS逆向的基础

什么是逆向?
    https://music.163.com/weapi/song/enhance/player/url/v1?csrf_token=40b2ff585aa4532e59f66bf2ff3c3c4b
1. 先去测试一下接口能不能正常请求拿到数据
2. 删参数测试
3. 开始分析参数的生成
    a. 找到 加密函数入口 window.asrsea
    b. 分析是否为标准的加密 aes rsa des
    c. 假设不是标准的加密 是网易云专门实现的一套加密(手扣代码)
4. python调用js代码 实现加密参数的构建 以及请求的发送

代码展示

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import requests
import execjs


f = open('demo.js').read()
ctx = execjs.compile(f)
headers = {
    'Cookie': 'NMTID=00OCF57eMw7gjtHrkGxqZ7siinxV-IAAAGK1so-IQ; _ntes_nnid=26c70b0143c8e23610c54ff11079e1b2,1695820693625; _ntes_nuid=26c70b0143c8e23610c54ff11079e1b2; WEVNSM=1.0.0; WNMCID=hjvrqg.1695820693938.01.0; WM_TID=5HI1Ko6aOmlEVFVVQRKVyPYt4Zl0AfpQ; ntes_utid=tid._.LGEbSC8WPNJAQlVFAAPFlTdItnXEX3qn._.0; sDeviceId=YD-YNCJ3o0UbKBAU1VRBUaAhFmRbg7QtdJU; __snaker__id=Ux0jj3fJmpH6D5Fl; YD00000558929251%3AWM_TID=LyneRZ7oPElFVEVRFQLEzaJs4dymK3j%2B; __remember_me=true; ntes_kaola_ad=1; YD00000558929251%3AWM_NI=K3XHAVs1RKYu%2B8XnyUtpOw5rEkrkNUMtdFT7fROQFH3KALyTH1sduuIFb%2B0r%2BZY7WXja96%2BbAaSquHY24c4nDdmh7mcywoEf2flxd7s%2FLO3lG7KaWHTT748HeDO9Tl3qYzU%3D; YD00000558929251%3AWM_NIKE=9ca17ae2e6ffcda170e2e6eeb4cc7cb792a0dae1748e8e8fb6d44f969b9e87d867b6f1ffa3e96693b6e5b9c42af0fea7c3b92a89ed98a9c45eb1ef9eacdc7fe9e8988ffc5fb8b08198b87a87b5be8ccd5f8facaca7d73da68e81b2c544f1958fadfc608cefbd85f87f8b9aaeccb37ae98697d8d654aabff7d7aa6a83bf9d92f8449beefc84b76688bca389b667a1a7b990c86ef2baa499e73db1f184b0b26885e98582d644988cf9d5bb44a79c81dad768f1af979bd837e2a3; __csrf=40b2ff585aa4532e59f66bf2ff3c3c4b; _iuqxldmzr_=32; WM_NI=T%2FfWtSNjvtGAkooXecvj4sWvbkyf6Tuab7BWwxWzRI3Dfy9KKtHLxya99VezrA4MobslVEKsFwp9yMMNW5u3EyY4O67tvSfO6wRtr99p7vM%2FAAoq2YDMALydvlx6IFYzOUs%3D; WM_NIKE=9ca17ae2e6ffcda170e2e6eeccf95ef294e1a2ef669a868ba7c85b929f9b87d533a3e9b78df74b8cb0a5d7e42af0fea7c3b92a98f1aab8f7598eb6ba95c64ba9b1a1b9e869b6b6fc94d67ea2b5b787b560b7bfaed8c15db5a8999bd143f19caa9abc4189ac88adfb73a3e7f7b7e872b29ffcaeee6ab1b49aa6ca7986a9c0dafc478f9299d6f83987a797d5ce3ef5acbab4e545f6a99e95f133fbb0f997d025839fa192b15388938fadfc70b6b4b8d7cc4e9ba681b6f237e2a3; MUSIC_U=0016948227D9057DB55CACF7EE3BC6E54D557C4B9FFEC4C17923B93826003DBD522B4FA6B555D599D4BC6B0CCF34750B4E3FC645ED0D801C889E6AF1EA5DA4EA50DB331FDC6EE75563659E0676475FB9850401DA82B8BC28C14B7BF05203E0616449D4E2F9F483C7C0D7CC918C70C7DD51DF718B499955ED7CEC959EE76D903C7EF35D3432F3DB041B3FB10EC0C476C014C9CFC5C10EA7CA499E5027795737D198E7F8B98DABB1201E4D9EFCA77B4769CAF563F3030B7986BF873B511FFA6A376D9C8DB915D84535A1B7F4675D2AD4952ACE513F07B1201713F6C43049D059190158ADC84A1516BA6744FE7039811EA6978F537A16A9AB70ADBA37A9B4F157A5C73E143B2654D881381C5713CD2757DB36C3DE6FB88F6BBDB7FE0AC8CAFA1FD54BC65B9D9ACC5E78089DDB58E189FCB3973E4637861EDE12C381286EBFD8F95FCD8347B08A6F9890B31BB572CE9292571FC39E812C97F8BBA3A2BB651E2D38113C; __csrf=e73e77a7342b7f378110fc1c244de309; gdxidpyhxdE=UHX93r7e4gTV2EkbzuMp79%2Fw%2Bm5pUKteGXt5G9PlS2Kt6e17Ids34oUgYhaLbf7li2xpL6O07oS7cv5%2BNZuwDumu4hpdEszL%2FTzN5qszjR1Gi8SaW9Kb8ScH%2FG8blJ7KZXi1iN4uZRfXhuM0pUElLV5XAKZ4psog3JUx%2BwqyjS2Tkx1O%3A1705068638530; JSESSIONID-WYYY=NGXaEmDtw5xDgaOKczM%2FINu%2BGToHjDIlOhS5drpsXelEgFCyUf2cwWMU9O%2FaAGXipHp3FEmtqljGfSHD2vXvH4kWitnSZnd8hoXTRpkJsXFbFxK6t5rcPGC87jCiNd35c7vcEh7cAJJMo1qK3CpbBId7wyM77I5YO1aTZWgauznHNADs%3A1705130177139; playerid=66893040',
    'Referer': 'https://music.163.com/',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
}
mid = '2116714805'
result = ctx.call('sdk', mid)
data = {
    'params': result['encText'],
    'encSecKey': result['encSecKey']
}
url = 'https://music.163.com/weapi/song/enhance/player/url/v1'
response = requests.post(url=url, headers=headers, data=data)
print(response)
print(response.text)

完整源码和视频讲解我都打包好了,直接文末名片自取~

尾语

最后感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/343701.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Structure-from-Motion Revisited(COLMAP) 流程介绍

Structure-from-Motion Revisited(COLMAP)流程介绍 主要贡献1 场景图增强2 下一最佳视图选择3 稳健高效的三角化4 BA5 冗余视图挖掘 Reference: Structure-from-Motion Revisited 原文COLMAP 使用教程Colmap论文——《Structure-from-Motion …

HarmonyOS鸿蒙应用开发( 四、重磅组件List列表组件使用详解)

List列表组件,是一个非常常用的组件。可以说在一个应用中,它的身影无处不在。它包含一系列相同宽度的列表项,适合连续、多行呈现同类数据,如商品列表、图片列表和和文本列表等。ArkUI 框架采用 List 容器组件创建列表(…

红队打靶练习:W34KN3SS: 1

目录 信息收集 1、arp 2、nmap 3、nikto 4、gobuster 5、dirsearch WEB web信息收集 目录探测 漏洞利用 openssl密钥碰撞 SSH登录 提权 get user.txt get passwd 信息收集 1、arp ┌──(root㉿ru)-[~/kali] └─# arp-scan -l Interface: eth0, type: EN10MB…

【深度学习】初识深度学习

初识深度学习 什么是深度学习 关系: #mermaid-svg-7QyNQ1BBaD6vmMVi {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-7QyNQ1BBaD6vmMVi .error-icon{fill:#552222;}#mermaid-svg-7QyNQ1BBaD6vmMVi .err…

HEGERLS智能物流机器人|场景为王 以存取为技术核心布局的仓储集群

随着物流需求的多样化、复杂化,四向穿梭车技术经过几年的蓬勃发展,正在各领域迎来愈加广泛的应用。河北沃克作为该领域的代表,凭借庞大的产品群、功能强大的软件系统以及资源丰富的生态合作伙伴体系实现了快速的发展。其中,海格里…

Spring5系列学习文章分享---第三篇(AOP概念+原理+动态代理+术语+Aspect+操作案例(注解与配置方式))

目录 AOP概念AOP底层原理AOP(JDK动态代理)使用 JDK 动态代理,使用 Proxy 类里面的方法创建代理对象**编写** **JDK** 动态代理代码 AOP(术语)AOP操作(准备工作)**AOP** **操作(**AspectJ注解)**AOP** **操作(**AspectJ…

【系统DFX】如何诊断占用过多 CPU、内存、IO 等的神秘进程?

热门面试问题:如何诊断占用过多 CPU、内存、IO 等的神秘进程? 下图展示了 Linux 系统中有用的工具。 🔹’vmstat’ - 报告有关进程、内存、分页、块 IO、陷阱和 CPU 活动的信息。🔹’iostat’ - 报告系统的 CPU 和输入/输出统计信…

TortoiseSVN源码安装与迁移全攻略

一、前言 随着版本控制系统的普及,越来越多的开发者和团队开始使用SVN(Subversion)来管理代码。本文将详细介绍TortoiseSVN的源码安装及迁移过程,帮助您轻松掌握这一版本控制工具。 二、TortoiseSVN源码安装 依赖环境安装&…

# 安徽锐锋科技IDMS系统简介

IDMS 由安徽锐锋科技独立开发 该系统负责和海算以及UE\UNITY的无缝衔接并具备远程数据库访问、高速数据库的自动创建及数据存储、支持MQTT等多种物联网接口,支持多种算法。主要完成由于物料、人员、生产、故障、不良异常、订单异常带来的生产损失,通过海…

【趣味CSS3.0】粘性定位属性Position:sticky是不是真的没用了?

🚀 个人主页 极客小俊 ✍🏻 作者简介:web开发者、设计师、技术分享博主 🐋 希望大家多多支持一下, 我们一起学习和进步!😄 🏅 如果文章对你有帮助的话,欢迎评论 💬点赞&a…

【产品交互】超全面B端设计规范总结

不知不觉已经深耕在B端这个领域3年有余,很多人接触过B端后会觉得乏味,因为B端的设计在视觉上并没有C端那么有冲击力,更多的是结合业务逻辑,设计出符合业务需求的交互,以及界面排版的合理性,达到产品的可用性…

UE5 C++ Slate独立程序的打包方法

在源码版安装目录内找到已编译通过的xxx.exe,(\Engine\Binaries\Win64\xxx.exe),在需要的位置新建文件夹,拷贝源码版Engine内的Binaries、Content、Shaders文件夹到目标文件夹内,将xxx.exe放入对应位置,删除…

npm或者pnpm或者yarn安装依赖报错ENOTFOUND解决办法

如果报错说安装依赖报错,大概率是因为npm源没有设置对,比如我这里安装protobufjs的时候报错:ENOTFOUND npm ERR! code ENOTFOUND npm ERR! syscall getaddrinfo npm ERR! errno ENOTFOUND npm ERR! network request to https://registry.cnpm…

IP地址和端口

1. IP地址: 简介: IP 协议是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所 有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任 何厂家生产的计算机系统…

BioTech - 量子化学与分子力场

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/135787607 量子化学是应用量子力学的规律和方法来研究化学问题的一门学科,主要关注分子的结构、性质和反应过程。 量子化学的理论方法…

Spring Boot引起的“堆外内存泄漏”排查及经验总结

Spring Boot引起的“堆外内存泄漏”排查及经验总结 背景 为了更好地实现对项目的管理,我们将组内一个项目迁移到MDP框架(基于Spring Boot),随后我们就发现系统会频繁报出Swap区域使用量过高的异常。笔者被叫去帮忙查看原因&…

web安全学习笔记【05】——反弹Shell、正反向连接

思维导图 #知识点: 1、Web常规-系统&中间件&数据库&源码等 2、Web其他-前后端&软件&Docker&分配站等 3、Web拓展-CDN&WAF&OSS&反向&负载均衡等 ----------------------------------- 1、APP架构-封装&原生态&H5&am…

SpringMVC 注解配置SpringMVC

文章目录 1、创建初始化类,代替web.xml2、创建SpringConfig配置类,代替spring的配置文件3、创建WebConfig配置类,代替SpringMVC的配置文件4、测试功能 使用配置类和注解代替web.xml和SpringMVC配置文件的功能 1、创建初始化类,代替…

SpringBoot3集成Zookeeper

标签:Zookeeper3.8 ,Curator5.5; 一、简介 ZooKeeper是一个集中的服务,用于维护配置信息、命名、提供分布式同步、提供组服务。分布式应用程序以某种形式使用所有这些类型的服务。 二、环境搭建 1、修改配置文件 # 1、拷贝一份…

前端面试题-(浏览器内核,CSS选择器优先级,盒子模型,CSS硬件加速,CSS扩展)

前端面试题-(浏览器内核,CSS选择器优先级,盒子模型,CSS硬件加速,CSS扩展) 常见的浏览器内核CSS选择器优先级盒子模型CSS硬件加速CSS扩展 常见的浏览器内核 内核描述Trident(IE内核)主要用在window系统中的IE浏览器中&…