【教程】免费下载咪哒小程序的唱歌录音文件, 附脚本

2024-02-11 03:10

本文主要是介绍【教程】免费下载咪哒小程序的唱歌录音文件, 附脚本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转载请注明出处:小锋学长生活大爆炸[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制作的小工具集,非常方便自己扩展

使用示例

其他说明

        对于音频格式问题,可以使用“格式工厂”来转换。

这篇关于【教程】免费下载咪哒小程序的唱歌录音文件, 附脚本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/698683

相关文章

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因

Java Scanner类解析与实战教程

《JavaScanner类解析与实战教程》JavaScanner类(java.util包)是文本输入解析工具,支持基本类型和字符串读取,基于Readable接口与正则分隔符实现,适用于控制台、文件输... 目录一、核心设计与工作原理1.底层依赖2.解析机制A.核心逻辑基于分隔符(delimiter)和模式匹

Python多线程实现大文件快速下载的代码实现

《Python多线程实现大文件快速下载的代码实现》在互联网时代,文件下载是日常操作之一,尤其是大文件,然而,网络条件不稳定或带宽有限时,下载速度会变得很慢,本文将介绍如何使用Python实现多线程下载... 目录引言一、多线程下载原理二、python实现多线程下载代码说明:三、实战案例四、注意事项五、总结引

spring AMQP代码生成rabbitmq的exchange and queue教程

《springAMQP代码生成rabbitmq的exchangeandqueue教程》使用SpringAMQP代码直接创建RabbitMQexchange和queue,并确保绑定关系自动成立,简... 目录spring AMQP代码生成rabbitmq的exchange and 编程queue执行结果总结s

Java调用Python脚本实现HelloWorld的示例详解

《Java调用Python脚本实现HelloWorld的示例详解》作为程序员,我们经常会遇到需要在Java项目中调用Python脚本的场景,下面我们来看看如何从基础到进阶,一步步实现Java与Pyth... 目录一、环境准备二、基础调用:使用 Runtime.exec()2.1 实现步骤2.2 代码解析三、

Python脚本轻松实现检测麦克风功能

《Python脚本轻松实现检测麦克风功能》在进行音频处理或开发需要使用麦克风的应用程序时,确保麦克风功能正常是非常重要的,本文将介绍一个简单的Python脚本,能够帮助我们检测本地麦克风的功能,需要的... 目录轻松检测麦克风功能脚本介绍一、python环境准备二、代码解析三、使用方法四、知识扩展轻松检测麦

基于Python编写自动化邮件发送程序(进阶版)

《基于Python编写自动化邮件发送程序(进阶版)》在数字化时代,自动化邮件发送功能已成为企业和个人提升工作效率的重要工具,本文将使用Python编写一个简单的自动化邮件发送程序,希望对大家有所帮助... 目录理解SMTP协议基础配置开发环境构建邮件发送函数核心逻辑实现完整发送流程添加附件支持功能实现htm