github
https://github.com/Diaoxiaozhang/Ximalaya-XM-Decrypt
pip install python-magic
pip install mutagen
pip install wasmer
pip install wasmer_compiler_cranelift
pip install python-magic-bin
报错 ImportError: failed to find libmagic. Check your installation
import magic
def find_ext(data):
exts = ["m4a", "mp3", "flac", "wav"]
value = magic.from_buffer(data).lower()
for ext in exts:
if ext in value:
return ext
raise Exception(f"unexpected format {value}")
def decrypt_xm_file(from_file, output_path='./output'):
print(f"正在解密{from_file}")
data = read_file(from_file)
info, audio_data = xm_decrypt(data)
output = f"{output_path}/{replace_invalid_chars(info.album)}/{replace_invalid_chars(info.title)}.{find_ext(audio_data[:0xff])}"
magic只是为了用来检测下载文件的文件类型,但是我下载的文件都是音频 m4a 或者mp3, 可以下载几条验证一下,我用m4a类型保存看着比较正常,直接写死的m4a
output = f"{output_path}/{replace_invalid_chars(info.album)}/{replace_invalid_chars(info.title)}.m4a"
libmagic报错windows系统不好解决,绕过不解决了。
https://github.com/ahupp/python-magic#dependencies
https://segmentfault.com/q/1010000043254750
https://github.com/pidydx/libmagicwin64
https://www.saoniuhuo.com/question/detail-2221718.html
https://blog.csdn.net/RelaxTech/article/details/131447227