因需要**云音乐歌单转到apple music,不满**云音乐下载都是ncm格式,所以想办法转化格式
目录
前言
一、appleMusic支持的音频格式有什么?
二、在CSDN上寻求帮助并加入自己的想法
1.找大神的现成代码
2.因为我突然想找点其他新鲜的(有没有小白用的exe)哈哈哈
3.发现如果不用大佬的py代码的话,有了flac格式怎么转换
1.单个文件转换MP3方法:
2.单个文件夹下的所有flac转换为MP3
3. 因为中间测试,好多文件都有重复,所以找了一个大佬的去重代码
4. 又因为中间测试,好多文件都乱套了,所以就写了一个分类的方法
总结
前言
出于想从网易云转换成appleMusic的user,发现网易云下载下来的文件格式都是ncm的,问题来了,无法导入到appleMusic,然后就有了后面的故事。。。。
一、appleMusic支持的音频格式有什么?
AAC、Apple 保真压缩(ALAC)、MP3 及其他。很明显最常见的就是MP3,所以我就开始想办法转换格式为MP3
二、在CSDN上寻求帮助并加入自己的想法
1.找大神的现成代码
经过不懈的努力终于找到一位大佬的代码!(你是俺哥)
传送门哈哈哈哈
2.因为我突然想找点其他新鲜的(有没有小白用的exe)哈哈哈
找了好久发现,(1)ncm转flac或者MP3.exe;
(2)免费的ncm转MP3.exe(大佬下面灰色说明里有链接)
3.发现如果不用大佬的py代码的话,有了flac格式怎么转换
1.单个文件转换MP3方法:
# 单个文件转换
def file_transform(filepath):if '.flac' in filepath:#识别是不是flac格式文件song = AudioSegment.from_file(filepath)#flac转MP3转换后存在song变量里filepath_new = filepath.replace('.flac', '.mp3')#为下一句输出本地改目录文件后缀名song.export(filepath_new, format="mp3")#存于本地,格式是MP3if os.path.exists(filepath_new):#在本地查找是否存在刚存于本地的文件,有的也就成功了,# 没有的话,看一下输出地址是不是有问题print('file completed!')else:print('failed!')
2.单个文件夹下的所有flac转换为MP3
我用的函数嵌套,filepath是完整的路径+文件名, disfilepath只需要你想要的目标路径,自认为这段代码的优点是避免重复劳动(筛选出目的文件夹里没有的文件,再对这些文件转换)
# 一个文件夹下所有flac格式文件批量转换成MP3
def folder_all(filepath,disfilepath):sum = 0 # 用于计数需要转换的总任务量count = 0 #已经进行的任务数success=0# 用于计数转换成功的个数failnum = 0 # 转换失败的个数name_file_fail = []#存放失败的文件名# 转化函数方法def flac2mp3(filepath, name, after_filepathName, success, failnum,name_file_fail):name_new = name.replace('.flac', '.mp3')#更改转换后的文件后缀名file_namepath_before = os.path.join(filepath, name)#拼接转换前文件的路径和文件名song = AudioSegment.from_file(file_namepath_before)#老样子转换song.export(after_filepathName, format="mp3")#导出到本地if os.path.exists(after_filepathName):#存在,成功数+1success +=1else:failnum+=1name_file_fail.append(name)#否则,失败数+1,并加入失败列表filenames = os.listdir(filepath)#获取文件夹下所有文件的名字(包含后缀名)"""先计算总共需要转换多少个文件,防止重复转换,毕竟批量处理需要的时间也不短用于转换时知道转换总进度的进展。我一开始觉得这段循环无所谓,但是当我转换300多个文件时,发现,这真他妈香!!!"""for filename in filenames:#遍历每个文件名if '.flac' in filename:#如果文件名后缀为.flac,则进入一下循环体after_filename= filename.replace('.flac', '.mp3')#更改原文件的后缀名为.mp3after_filepathName= os.path.join(disfilepath, after_filename)#再把目标文件路径和改后的文件名组合拼接起来if os.path.exists(after_filepathName):#核查你的目的文件夹里是否存在这个文件mp3格式的文件存在passelse:sum += 1#不存在那就总任务量+1for filename in filenames:#遍历每个文件名if '.flac' in filename:#如果文件名后缀为.flac,则进入一下循环体after_filename= filename.replace('.flac', '.mp3')#更改原文件的后缀名为.mp3after_filepathName= os.path.join(filepath, after_filename)#再把文件路径和改后的文件名组合拼接起来if os.path.exists(after_filepathName):#如果存在则跳过,进行下一个continueelse:flac2mp3(filepath, filename, after_filepathName,success, failnum, name_file_fail)#不存在则调用flac2mp3方法;初始文件路径,文件名,# 目的文件路径(包含文件名),成功数,失败数,失败的数组 这5个参数给它踢过去count += 1f = count / sum * 100#计算任务进度print('进度{}%'.format('%.2f' % f))#输出是保留小数点后2位(四舍五入)else:continue#如果文件名后缀不是.flac,则进行下一个文件print('文件夹下共{}个'.format(len(filenames)))#报告这个文件夹下所有文件数print('总任务数:{}个'.format(sum))#报告总任务数print('转换全部完成')print('共转换成功{}个'.format(success))if failnum !=0: #如果有失败的,就输出失败数量,及失败名单print('失败{}个'.format(failnum))';'.join(name_file_fail)
3. 因为中间测试,好多文件都有重复,所以找了一个大佬的去重代码
传送门哈啊哈
4. 又因为中间测试,好多文件都乱套了,所以就写了一个分类的方法
#筛选flac和MP3文件归类到各自文件夹
def file_sift(filepath, disfilepath1, disfilepath2):#参数:想要分类的文件夹,目的文件路径1,目的文件路径2filenames = os.listdir(filepath)for filename in filenames:#获取所有文件名if '.flac' in filename:shutil.move(os.path.join(filepath,filename), os.path.join(disfilepath1,filename))#组合路径和文件名,后移动elif '.mp3' in filename:shutil.move(os.path.join(filepath,filename), os.path.join(disfilepath2,filename))else:continue
总结
对于网易云的操作能理解,毕竟里面有版权而且也要锁住用户。搬砖人搬砖魂,一切源于好奇,和对python的强烈的兴趣。如果对你有用,那是我的荣幸之至;如果没啥用,我就只是哈哈哈哈啊哈哈,分享一下我解决我实现想法难题的过程。
因需要**云音乐歌单转到apple music,不满**云音乐下载都是ncm格式,所以想办法转化格式相关推荐
- 亲测有效的网易云音乐歌单转换到apple music 的方法!
https://soundiiz.com/zh/tutorial/netease-music-to-apple-music
- 教你如何用Python抓取QQ音乐歌单及分析
学了python也有一段时间了,对于爬虫,后端的框架也有一些了解,但是都是在学习的时候跟着别人写的,感觉都不是自己的知识一样.我去年就给网易云音乐提了一个建议,就是通过播放量或者一个受欢迎程度来排序, ...
- Python抓取QQ音乐歌单并分析
学了python也有一段时间了,对于爬虫,后端的框架也有一些了解,但是都是在学习的时候跟着别人写的,感觉都不是自己的知识一样.我去年就给网易云音乐提了一个建议,就是通过播放量或者一个受欢迎程度来排序, ...
- Python数据分析初探项目 基于Python数据可视化的网易云音乐歌单分析系统 大学编程作业(TUST 天津科技大学 2022年)
Python 数据分析初探项目 基于 Python 数据可视化的网易云音乐歌单分析系统 大学编程作业(TUST 天津科技大学 2022 年) Python 数据分析初探项目 基于 Python 数据可 ...
- 【Python程序设计】基于Python Flask的网易云音乐歌单采集与可视化分析平台-源码经过调试,100%可运行
基于Python Flask的网易云音乐歌单采集与可视化分析平台 项目获取 一.项目简介 二.开发环境 三.项目技术 四.功能介绍 五.功能结构 六.运行截图 项目获取 获取方式(点击下载):是云猿实 ...
- 网易云音乐歌单生成外链播放器
(一)自己创建的歌单没有生成外链选项的解决方法 解决方法: 1.分享歌单 2.打开分享界面的歌单链接 3.打开歌单即可看到生成外链的点击链接 (二)网易云音乐歌单因为版权原因无法生成外链的解决方法 1 ...
- 基于Vue移动音乐webapp跨域获取QQ音乐歌单接口
最近看了一个vue移动音乐webapp教程,老师是一个来自滴滴公司的名为黄轶的前端大神,之前学习了他的一个基于vue仿饿了么webapp的初级教程,感觉非常好,十分适合新手,但是那个教程的数据都是前端 ...
- 转:基于Vue移动音乐web app跨域获取QQ音乐歌单接口教程
最近看了一个vue移动音乐webapp教程,老师是一个来自滴滴公司的名为黄轶的前端大神,之前学习了他的一个基于vue仿饿了么webapp的初级教程,感觉非常好,十分适合新手,但是那个教程的数据都是前端 ...
- selenium切换iframe框架案例——翻页爬取网易云音乐歌单作者和名称
翻页爬取网易云音乐歌单作者和标题 案例目的: 通过翻页selenium操作网易云音乐,介绍如何切换iframe框架以及如何使用selenium定位数据所在的节点. 代码功能: 输入下载的数据页数,自动 ...
- selenium实战-同步网易云音乐歌单到qq音乐
本文主要介绍selenium在爬虫脚本的实际应用.适合刚接触python,没使用过selenium的童鞋.(如果你是老司机路过的话,帮忙点个star吧) 项目地址 https://github.com ...
最新文章
- ASP,VBScript常用的内置函数,lbound(),ubound(),int(),fix(),rnd(),instr(),instrrec(),,
- UI5的货币显示格式的逻辑
- 《深入浅出数据分析》第十二章——R语言lattice数据包
- P2486 [SDOI2011]染色(树链剖分+线段树)
- 如何测试Java类的线程安全性
- 一文读懂 | 进程怎么绑定 CPU
- 我会铭记这一天:2016年10月25日
- mysql5.0.27+apache2.0.59+php5.2.0+phpMyAdmin-2.6.4-pl3
- java 创建数组工具类_用Java创建数组工具类ArrayTool
- centos(7.0) 上 crontab 计划任务
- Python获取sklearn库中iris数据写入本地csv文件,可视化展示数据并进行分类、聚类实验以及结果可视化
- python实现k-shell复杂网络_企业网络结构复杂,如何高效、简单实现异地组网?...
- btr如何修改服务器手机版我的世界,我的世界btr编辑器
- Audio HAL 通话录音上下行分离
- 炒股50问——走向职业操盘的简单问答!
- 百度2014移动研发笔试题目
- Docker Build Cache 缓存清理
- c 语言fabs函数的作用,c语言fabs是什么意思
- JS C22作业:方块拖拽效果
- sql简介香气和sql简介_香气和SQL简介