目录

前言

一、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格式,所以想办法转化格式相关推荐

  1. 亲测有效的网易云音乐歌单转换到apple music 的方法!

    https://soundiiz.com/zh/tutorial/netease-music-to-apple-music

  2. 教你如何用Python抓取QQ音乐歌单及分析

    学了python也有一段时间了,对于爬虫,后端的框架也有一些了解,但是都是在学习的时候跟着别人写的,感觉都不是自己的知识一样.我去年就给网易云音乐提了一个建议,就是通过播放量或者一个受欢迎程度来排序, ...

  3. Python抓取QQ音乐歌单并分析

    学了python也有一段时间了,对于爬虫,后端的框架也有一些了解,但是都是在学习的时候跟着别人写的,感觉都不是自己的知识一样.我去年就给网易云音乐提了一个建议,就是通过播放量或者一个受欢迎程度来排序, ...

  4. Python数据分析初探项目 基于Python数据可视化的网易云音乐歌单分析系统 大学编程作业(TUST 天津科技大学 2022年)

    Python 数据分析初探项目 基于 Python 数据可视化的网易云音乐歌单分析系统 大学编程作业(TUST 天津科技大学 2022 年) Python 数据分析初探项目 基于 Python 数据可 ...

  5. 【Python程序设计】基于Python Flask的网易云音乐歌单采集与可视化分析平台-源码经过调试,100%可运行

    基于Python Flask的网易云音乐歌单采集与可视化分析平台 项目获取 一.项目简介 二.开发环境 三.项目技术 四.功能介绍 五.功能结构 六.运行截图 项目获取 获取方式(点击下载):是云猿实 ...

  6. 网易云音乐歌单生成外链播放器

    (一)自己创建的歌单没有生成外链选项的解决方法 解决方法: 1.分享歌单 2.打开分享界面的歌单链接 3.打开歌单即可看到生成外链的点击链接 (二)网易云音乐歌单因为版权原因无法生成外链的解决方法 1 ...

  7. 基于Vue移动音乐webapp跨域获取QQ音乐歌单接口

    最近看了一个vue移动音乐webapp教程,老师是一个来自滴滴公司的名为黄轶的前端大神,之前学习了他的一个基于vue仿饿了么webapp的初级教程,感觉非常好,十分适合新手,但是那个教程的数据都是前端 ...

  8. 转:基于Vue移动音乐web app跨域获取QQ音乐歌单接口教程

    最近看了一个vue移动音乐webapp教程,老师是一个来自滴滴公司的名为黄轶的前端大神,之前学习了他的一个基于vue仿饿了么webapp的初级教程,感觉非常好,十分适合新手,但是那个教程的数据都是前端 ...

  9. selenium切换iframe框架案例——翻页爬取网易云音乐歌单作者和名称

    翻页爬取网易云音乐歌单作者和标题 案例目的: 通过翻页selenium操作网易云音乐,介绍如何切换iframe框架以及如何使用selenium定位数据所在的节点. 代码功能: 输入下载的数据页数,自动 ...

  10. selenium实战-同步网易云音乐歌单到qq音乐

    本文主要介绍selenium在爬虫脚本的实际应用.适合刚接触python,没使用过selenium的童鞋.(如果你是老司机路过的话,帮忙点个star吧) 项目地址 https://github.com ...

最新文章

  1. ASP,VBScript常用的内置函数,lbound(),ubound(),int(),fix(),rnd(),instr(),instrrec(),,
  2. UI5的货币显示格式的逻辑
  3. 《深入浅出数据分析》第十二章——R语言lattice数据包
  4. P2486 [SDOI2011]染色(树链剖分+线段树)
  5. 如何测试Java类的线程安全性
  6. 一文读懂 | 进程怎么绑定 CPU
  7. 我会铭记这一天:2016年10月25日
  8. mysql5.0.27+apache2.0.59+php5.2.0+phpMyAdmin-2.6.4-pl3
  9. java 创建数组工具类_用Java创建数组工具类ArrayTool
  10. centos(7.0) 上 crontab 计划任务
  11. Python获取sklearn库中iris数据写入本地csv文件,可视化展示数据并进行分类、聚类实验以及结果可视化
  12. python实现k-shell复杂网络_企业网络结构复杂,如何高效、简单实现异地组网?...
  13. btr如何修改服务器手机版我的世界,我的世界btr编辑器
  14. Audio HAL 通话录音上下行分离
  15. 炒股50问——走向职业操盘的简单问答!
  16. 百度2014移动研发笔试题目
  17. Docker Build Cache 缓存清理
  18. c 语言fabs函数的作用,c语言fabs是什么意思
  19. JS C22作业:方块拖拽效果
  20. sql简介香气和sql简介_香气和SQL简介

热门文章

  1. 在51CTO学习数通HCNP的经历
  2. 暴走漫画系列之高仿淘宝收货地址(附demo)
  3. ffmpeg中的pcm格式
  4. matlab qam调制函数,matlab实现16QAM调制解调
  5. 判断360浏览器极速和兼容模式
  6. 通过JLINK下载程序(附JLINK驱动)
  7. 将 SPSS 分析技术应用于大数据
  8. 安装stm32芯片包
  9. alc662声卡注入id_ALC662驱动方法AppleALC+Lilu+DSDTalc662
  10. 狗猫分类数据集划分详解