java 爬虫 抓取 网易云音乐

article/2025/10/30 21:28:47

大家好,我是烤鸭:

     今天和大家交流一下爬虫,抓取网易云音乐。只讨论技术,不提倡其他的。

1.    找音乐源地址

谷歌浏览器 F12 ,找请求类型是 Media的。

  

 

2.     找请求链接

切换请求类型到 All,看 Response 包含 mp3 链接的。

 

3.     分析请求

请求头就不说了,主要是 formData 中有两个加密参数 params 和 encSecKey.

先去页面上搜一下 encSecKey 没有任何结果,说明不是页面上的,那就很可能是请求或者js来的。

先找一下js,F12 JS,打开每个js搜一下encSecKey,运气好,第一次就搜到了。

如果没有加载这个js,先清一下缓存再试,ctrl + shift + del。

 

4.    分析js

先格式化js

格式完,还分析个屁...太长了,果断放弃了。

 

5.      对JS 进行debug

既然不能解析js,就先看看请求参数怎么构造出来的。先看看js哪来的,再去source下找到相应的资源。我们看到是s3域名下的。

格式化之后成这样。

搜一下 encSecKey ,有3个地方。可以看出第二个地方有点像发请求构造参数的。断点就打到这。debug看的清楚点。

 

6.      根据debug获取参数

一打debug,就看到请求进来。看链接好像是 feedback 获取评论吧,看下面的两个 parmas和encSecKey就是要传的参数了。

播放一首歌曲,获取播放请求。

7.     java 代码尝试

把上图的params和 encText 复制,构造请求头参数,代码如下

 /***  测试方法*/@Testpublic void test() throws Exception {Map<String, String> params = new HashMap<>();params.put("encSecKey","39c3ef05130d29fe5087a8f34c2bad83a5ba55c469fad98f4bf3259e78f666f503f6e51a15042baf254ed8df00712515b73773882256b0bfd06cad5c6f7152b400ecbfbbd8577bab0b4b32fe3f317242dd265a3397107914d142cf9a7a2c26c76888bbc7dd77254d1b627c1dff218d770aead987fdfe141c9dd527bee691e7f0");params.put("params","Zff/QUCciAB3bqAZIAbjAyA7umXyUkoLWi4jiO/elGeGx/DtZEdV0cnVhdtvMHZtEyGfdtxmnz7phoD/xL3/AXrwN4eSKVFkrPwzublQnlU=");Connection.Responseresponse = Jsoup.connect("https://music.163.com/weapi/song/enhance/player/url?csrf_token=").userAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36").header("Accept", "*/*").header("Accept-Encoding", "gzip, deflate, br").header("Accept-Language", "zh-CN,zh;q=0.9").header("Content-Length", "408").header("Content-Type", "application/x-www-form-urlencoded").header("Cookie", "_iuqxldmzr_=32; _ntes_nnid=9a70f3201fcbd6cf4edb02ba394a65c5,1531897058172; _ntes_nuid=9a70f3201fcbd6cf4edb02ba394a65c5; __remember_me=true; usertrack=ezq0o1tsBG6FVe1fBHrBAg==; _ga=GA1.2.1958241620.1533805677; UM_distinctid=16555e96742221-0bc5c3f6fc14a2-9393265-1fa400-16555e96744b4f; vjuids=-89d787cd4.16555e96924.0.e0fc8f49344fa; vjlast=1534744685.1534744685.30; __gads=ID=d7c480b9588b599f:T=1534744686:S=ALNI_Mbb9QcmO1jlX3On_eF82v6dwLy7gg; vinfo_n_f_l_n3=d99ca1905f8ab07f.1.0.1534744684876.0.1534744691814; __utmc=94650624; WM_TID=ymHXXAelaYj3mXYLUXlOTa5z2N%2B8Wk%2B6; __utmz=94650624.1535686730.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); playerid=46149715; JSESSIONID-WYYY=vcZkU3tA2do87BcvX3NOhUIoP6X%2F6Y9c%2FNUlRYpgUF1%5CIAoUpqTy%2B%5CiuVQOxJV8%2BvXO5VWIAAHDzEB%2BG0fZbRDjzIAtMtG8Wc%5CwXF8Y6FWu19Ajs0%5CjdGpPk0M6wkyrmrDhqTe7idwY452wHPkR3oEUYR0CSmWh1eCBEk%2F1N1ye8Cprn%3A1535693748773; WM_NI=i%2B%2BfZIkp2EH5%2BKEJYTld29ezN9qBqTP%2B3RQ2KF1J93rVMarCp%2BXjakOk2vKmUa%2FduI3lHsMxer2sp99K4uKDg9Hkd6lEiUpufIvdUvdCam64ZTjaYu8wLE4x1Nb82UVOS2I%3D; WM_NIKE=9ca17ae2e6ffcda170e2e6eed3d85986ea8cd3c7798f8ba888d45296bdb9afcc6490aaff82ce42bbae989bb42af0fea7c3b92aabf5e587d943a9b0fea6cb3fe9958babdc60b0bcfedae8728ee7bfa3f46094f5fdb3d43a899affabbc39b28a8382f149b4f5988be4618db5fe97ca6797bfe185f843f1b48894d074a7aefe94f333fb95fc96ca50a5e7888ce73eb09ba7b6f37fa697ba85d87ea89daf8eb5409a8ca682dc7ffca984a6b774f392aed9b15f96919dd3cc37e2a3; __utma=94650624.1958241620.1533805677.1535686730.1535693520.2; __utmb=94650624.2.10.1535693520").header("Connection", "keep-alive").header("Host", "music.163.com").header("Origin", "https://music.163.com").header("Referer", "https://music.163.com/").data(params).method(Connection.Method.POST).ignoreContentType(true).timeout(10000).execute();String list = response.body();System.out.println("返回结果值:"+response.statusCode());System.out.println("返回结果:"+list);}

结果如图:

8.    凑请求参数

对着 1 万多行的js,看参数是怎么加密的,太扯了。

 

 

 

 

 

                                            喜欢音乐和电影的朋友,欢迎关注烤鸭的世界。

                                          

 


剩下的有空继续写。

 


http://chatgpt.dhexx.cn/article/15kF5TiK.shtml

相关文章

网易云音乐linux版_全线下架:网易云音乐难解的困境

文丨锌刻度记者 许伟 编辑|杨靖怡 1.体验也好、功能也罢,音乐资源始终才是平台留住用户的根本。 2.网易云音乐曾经尝试从直播和社交双向出发,探索从侧面再次突围的可能性。 3.对于网易云音乐来说,唯有加大版权购买力度才能保持竞争优势,但这意味着更高的成本。 6月29日,网…

UDS知识整理(二):UDS诊断服务简介

本文参考自&#xff1a;ISO/DIS 14229-1&#xff08;2011&#xff09; 一、USD服务简介 根据手册可分为以下几种功能单元 诊断和通信管理功能单元数据传输功能单元存储数据传输功能单元输入输出控制功能单元远程激活常规功能单元上传下载功能单元 Diagnostic and Communicat…

【UDS诊断服务入门】

UDS诊断入门 写在前面&#xff1a;UDS实践性强&#xff0c;逻辑复杂&#xff0c;很多服务非要体验过一次才能理解&#xff0c;导致包括我在内的初学者感觉晦涩难懂&#xff0c;不明觉厉&#xff0c;因此将自己的理解写下来、整理下来&#xff0c;与君共勉。 1备忘录 2.UDS定义…

AUTOSAR--UDS诊断报文

这里写目录标题 一、UDS介绍1.1 UDS数据交互简介1.2 UDS的7种常用服务 二、UDS 26种服务2.1 $10诊断会话控制2.1.2 上电后的情况2.1.3 四种报文类型 2.2 $3E待机握手2.3 $27安全访问 前言&#xff1a;重点学习ISO 15765-2和ISO 14229-1的协议内容&#xff0c;之后可以将Git上的…

UDS 诊断教程(一)

UDS 由 ISO-14229系列标准定义&#xff0c;ISO 14229-1 定义了诊断服务&#xff0c;不涉及网络及实 现&#xff0c;只有应用层的内容。而 ISO 14229-3则定义了 UDS 在 CAN总线上的实现。 诊断通信的过程从用户角度来看非常容易理解&#xff0c;诊断仪发送诊断请求(request)&a…

UDS 诊断教程 (二)

UDS 定义的诊断服务从逻辑来说分为以下几类&#xff1a; 1. Diagnostic and Communication Management &#xff08;诊断和通信管理&#xff09; 2. Data Transmission &#xff08;数据传输&#xff09; 3. Stored Data Transmission &#xff08;存储数据传输&#xff0c;…

UDS诊断服务开发

解封后的环京地区还要办理通行出入证才能自由&#xff0c;据说在中国领土内需要出入证的有&#xff1a;香港、台湾、澳门以及河北三河~ 一、标准文件 ISO 14229 定义的是诊断服务。 ISO 15765 定义的是诊断服务在总线上的传输方式。 ISO 11898 定义的CAN总线在物理层面传输的…

UDS诊断随笔

This essay is just limited to personal learning&#xff0c;don’t judge somebody even you don’t know him/her. We always judge a book by its cover or a person from the outside Absolutely&#xff0c;Just fight all your natural instincts, and you’ll be grea…

UDS诊断测试

UDS&#xff08;Unified Diagnostic Services&#xff0c;统一的诊断服务&#xff09;诊断协议是在汽车电子ECU环境下的一种诊断通信协议。这种通信协议被用在几乎所有由OEM一级供应商所制造的新ECU上面。这些ECU控制车辆的各种功能&#xff0c;包括电控燃油喷射系统&#xff0…

UDS诊断概述

UDS&#xff08;Unified Diagnostic Services&#xff0c;统一的诊断服务&#xff09;诊断协议是ISO 15765 和ISO 14229 定义的一种汽车通用诊断协议&#xff0c;位于OSI模型中的应用层&#xff0c;它可在不同的汽车总线&#xff08;例如CAN, LIN, Flexray, Internet 和K-line&…

UDS诊断服务的会话层和寻址方式

文章目录 1 诊断服务的会话层和寻址方式 传送门 >> AutoSAR实战系列300讲「糖果Autosar」总目录 1 诊断服务的会话层和寻址方式 根据14229 uds诊断协议的要求&#xff0c;每个诊断服务只有处在合适的会话层才能起作用&#xff0c;并且不同的诊断服务支持不同的寻址模式…

UDS诊断

本文转载自&#xff1a;知乎用户——心机之花&#xff0c;网址&#xff1a;https://zhuanlan.zhihu.com/p/37310388&#xff0c;收藏转载仅供自己学习&#xff0c;如有侵权&#xff0c;请联系博主删除&#xff0c;谢谢。写在前面&#xff1a;UDS实践性强&#xff0c;逻辑复杂&a…

UDS诊断看这篇就够了,吐血整理

传送门 >> AutoSAR入门和实战系列总目录 1 简介与概述 不同诊断通信协议的开发&#xff0c;调整&#xff0c;实施和维护会给车辆制造商&#xff0c;系统供应商和ECU供应商带来不必要的成本。为了解决此问题&#xff0c;将不同的技术协议和数据通信原理编译为一个国际I…

UDS 诊断 详解

目录 1 UDS诊断的概念 2 Diagnostic request的格式 3 UDS 常用的诊断服务 4 UDS 诊断案例 1 UDS诊断的概念 UDS全称为Unified Diagnostic Services&#xff0c;统一的诊断服务。由ISO-14229系列标准定义。 诊断通信的过程从用户角度来看非常容易理解&#xff0c;诊断仪发送…

计算机网络学习 - UDS协议

文章目录 一、背景二、概述三、诊断原理四、UDS诊断服务五、DTC 一、背景 汽车故障诊断是利用ECU监测控制系统各组成部分的工作情况&#xff0c;发现故障后自动启动故障记录和处理逻辑。汽车故障诊断模块不仅能够存储记忆汽车故障&#xff0c;还能够实时提供汽车各种运行参数。…

UDS诊断详解

目录 一、诊断常见的协议&#xff1a; 二、OEM诊断规范 ISO14229 UDS定义的相关服务&#xff1a; SID的格式 ISO-14229常用服务 10服务&#xff08;诊断会话的控制&#xff09; 在UDS当中非常常用的表格&#xff1a; CAN总线示例 Recommended Session(s) for Service…

详解UDS CAN诊断:什么是UDS(ISO 14229)诊断?

目录 1、UDS诊断概念 2、UDS诊断组成部分 3、UDS诊断服务 之前讲解到CAN物理层和数据链路层的相关知识&#xff0c;这些属于ISO 11898-1、ISO 11898-2和ISO 11898-3协议方面的知识&#xff0c;本篇博文开启新篇章&#xff0c;讲解依托于CAN通信的应用层服务&#xff1a;UDS&…

UDS诊断基础知识简介-ISO14229

什么是UDS&#xff1f; UDS全称为Unified Diagnostic Services&#xff0c;统一的诊断服务。由ISO-14229系列标准定义。 诊断通信的过程从用户角度来看非常容易理解&#xff0c;诊断仪发送诊断请求(request)&#xff0c;ECU给出诊断响应&#xff08;response&#xff09;&…

UDS常用诊断服务介绍

1、UDS诊断简介 UDS英文全称为Unified Diagnostic Services&#xff0c;既通用诊断协议。相对于传统的OBD诊断不仅具有车辆ECU诊断功能&#xff0c;同时兼具数据传输、数据读写、通信控制等功能。也就是说已经不是传统意义上的诊断服务&#xff0c;可以称之为增强型诊断协议。…

UDS诊断协议规范与要求

1.UDS简介 1.1标准介绍 国际标准ISO 14229&#xff0c;基于OSI基本模型实现。如下所示&#xff1a; 应用层&#xff08;第7层&#xff09;&#xff0c;ISO 14229-1&#xff0c;ISO 14229-3 UDSonCAN&#xff0c;ISO 14229-4 UDSonFR&#xff0c;ISO 14229-5 UDSonIP&#xff…