本文主要是介绍【教程】免费下载咪哒小程序的唱歌录音文件, 附脚本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn]
背景介绍
在咪哒mini KTV中唱的歌,会自动录音并保存,然后可以在咪哒小程序上下载录音。
但是,在小程序上下载一首歌就要收1.99元,有一点点小贵。那么,如何免费下载呢?
下载步骤
1、电脑安装Fiddler、微信
2、运行Fiddler,相关配置教程网上搜索
3、微信打开咪哒小程序
4、启动Fiddler软件开始抓包;
5、切换一下小程序中歌曲列表的排序
6、切到Fiddler,找数据包,找到这一条
7、双击这条数据,在右下框中查看,可以发现歌曲的下载链接和信息
8、浏览器打开这个链接,就可以下载歌曲了
9、每首歌都可以这样操作。不过如果歌比较多,需要手动点下一页,然后再抓一次包。
自动脚本
1、你依旧需要完成前6步
2、记录下这两个内容:uid和token
3、脚本源码
import requests
from tqdm import tqdmtoken = input(">> 输入token: ")
uid = input(">> 输入uid: ")
audio_folder = 'audio'
if not os.path.exists(audio_folder):os.makedirs(audio_folder)url = 'https://mk-gateway-pro.singworld.cn/mk-outside/api/record/getUnFreezeList'
headers = {'token': token, 'uid': uid}
data = {"reqUid":1010946254, "page":1,"rows":20, "overDue":3, "orderBy":"2", "unFreezingFlag":False}
response = requests.post(url, headers=headers, json=data)
total_pages = response.json()['data']['pages']# 遍历所有页面
for page in range(1, total_pages + 1):data['page'] = pageresponse = requests.post(url, headers=headers, json=data)items = response.json()['data']['list']print(f"下载第{page}/{total_pages}页...")# 下载每个页面的音频文件with tqdm(total=len(items), desc='Downloading', unit='file') as pbar:for item in items:audio_url = item['audioUrl']file_name = f"{item['songName']}—{item['singerName']}.aac"file_path = os.path.join(audio_folder, file_name)audio_response = requests.get(audio_url)# 保存音频文件with open(file_path, 'wb') as file:file.write(audio_response.content)# 更新进度条描述和进度pbar.set_description(f"Downloaded {file_path}")pbar.update(1)print("下载完成!")
5、如果运行源码,注意先装库
pip install pyinstaller tqdm requests
工具下载
我已经打包为exe放到了这里,可以去下载:
https://github.com/1061700625/small_tools_v2
small_tools_v2: 使用tkinter和Python制作的小工具集,非常方便自己扩展
使用示例
其他说明
对于音频格式问题,可以使用“格式工厂”来转换。
这篇关于【教程】免费下载咪哒小程序的唱歌录音文件, 附脚本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!