注意!!可能只有Demo.py中的功能可能正常使用,修复可能没全部修复完
文件名
作用
Readme.MD
说明
Main.py
主程序
demo.py
使用方法-搜索,获取音乐下载地址,获取专辑信息
demo_1.py
使用方法-解析全部歌单(可能不可用)
demo_toplist.py
使用方法-流行指数榜单获取(可能不可用)
demo_mv.py
使用方法-获取MV下载地址以及信息(可能不可用)
main.js
QQ音乐Sign算法JavaScript加载器
ventor.js
QQ音乐Sign算法JavaScript
名称
版本
额外说明
Python
3.10
requests
2.31.0
请求模块
pyexecjs
1.5.1
用于运行JavaScript代码来获取Sign
QQ_Music中的函数名
作用
需要提交参数
set_cookie
设置Cookie(吧Cookie转换为Python字典格式)
Cookie:获取方式请参考如何获取Cookie
get_music_url
通过音乐MID解析音乐播放URL
music_mid:音乐的MID,https://y.qq.com/n/ryqq/songDetail/xxx (xxx就是这首歌的MID)或搜索返回结果时会返回
get_song_info
通过搜索返回的音乐ID来获取当前音乐信息(MID,曲名,专辑名)
music_id:音乐ID,搜索返回的结果有
get_album_info
通过专辑MID获取专辑信息,MID在搜索,获取音乐信息时返回
album_mid:专辑MID
search_music
搜索音乐
name:要搜索的音乐名 limit:返回的音乐数量
get_playlist_info
获取歌单信息(只能返回10个)
playlist_id:歌单ID
get_playlist_info_num
可以返回更多歌单,不过需要15个15个挨个获取(更多没试),写法看demo
playlist_id:歌单ID song_num:获取的数量,是上一次获取的+15
get_recommended_playlist
获取QQ音乐推荐歌单,获取内容应该和Cookie有关
无,设置好Cookie就行
get_lyrics
通过歌曲Mid获取
mid:歌曲Mid,可在搜索,获取音乐信息中获取
get_radio_info
获取个性电台信息,获取内容应该和Cookie有关
无,设置好Cookie就行
get_toplist_music
获取QQ流行歌曲榜单信息
无,目前cookie也不需要提交所有人都一样
get_mv_url
获取MV下载地址,信息
vid:MV的VID,搜索时获取(demo.py已更新写法)
由于QQ音乐更新了算法导致老版本接口无法使用,最新版Sign本人无力逆向出python版本,目前使用调用JavaScript代码的方式来实现Sign获取
2.按下F12或右键检测打开开发者工具并选择网络选项(部分浏览器叫Network)
3.按Ctrl+R刷新网页后在Fetch/XHR中随便找一个让后打开他的标头(Headers)
4.在请求标头(RequestHeaders)中找到Cookie并右键复制即可
Tips:Cookie有过期时间,只有绿钻的Cookie才能解析绿钻歌曲
下图中画红框的地方就是data的数据,格式json
获取完成data数据后直接使用万能提交接口提交即可
至于剩下的基本都是直接获取他的html然后正则匹配网页中的json了
使用本项目做成服务端,客户端数据发送到服务端解析并获取音乐信息播放URL之类的
支持播放绿钻歌曲和周杰伦最新专辑(实际能不能播放看我服务器Cookie有无过期)