python网易云音乐缓存uc转换
本帖最后由 彳、亍 于 2021-6-11 20:31 编辑这个api请求不了电台,只能用id作文件名了,,
-----搜了下好像没有python版,我来做一个
功能:把缓存转换为音乐文件,重命名
使用方法:
配置输入输出目录
需要xxx.uc和xxx.info两个文件
测试图
代码
import requests
import os
import json
import re
INPUTPATH = 'D:\\xj\\test\\'
OUTPUTPATH = 'D:\\xj\\test\\'
flag = 1# 歌手在歌名前面?是1否0
list = os.listdir(INPUTPATH)
for fname in list:
if fname.split('.')[-1] != 'uc':
continue
id = fname.split('-')
resp = requests.get(url='https://api.imjad.cn/cloudmusic/', params={'id': id, 'type': 'detail'})
dat = json.loads(resp.text)
with open(INPUTPATH + fname, 'rb') as fi:
b = fi.read()
nm = dat['songs']['name']
artist = dat['songs']['ar']['name']
with open(INPUTPATH + re.sub(r'(\.uc)', '.info', fname)) as fi:
type = json.loads(fi.read())['format']
if nm is None and artist is None:
optfname = id
else:
optfname = artist + ' - ' + nm if flag == 1 else nm + ' - ' + artist
print(optfname)
with open(OUTPUTPATH + optfname + '.' + type, 'wb') as fo:
for i in b:
fo.write((i ^ 0xa3).to_bytes(length=1, byteorder='little')) Caitingting 发表于 2021-8-13 13:30
求问楼主,这个实现的原理是什么呢?网易云音乐PC端是一种加密行为吗? 通过将音乐源进行加密运算让*.mp3变 ...
不好意思刚刚看到
其实就是对每个字节,与163(a3)异或
所以再异或回去就好了
这是用api的吗
播放器同款皮肤 三滑稽甲苯 发表于 2021-6-11 16:37
这是用api的吗
播放器同款皮肤
用api请求了名字
potplayer还能换皮肤的吗{:301_1009:} 可以
我看错了,但是默认皮肤和我的这个确实很像
三滑稽甲苯 发表于 2021-6-11 16:50
可以
我看错了,但是默认皮肤和我的这个确实很像
原来是这样 东方天涯 发表于 2021-7-28 17:44
额,美少女万华镜5还需要吗
不好意思,封帖前一位老哥给过链接了{:301_999:} 求问楼主,这个实现的原理是什么呢?网易云音乐PC端是一种加密行为吗? 通过将音乐源进行加密运算让*.mp3变成*.uc ?
页:
[1]