• [有料组每日学习分享计划--00087]32行代码帮你导出IOS酷我音乐下载的无损音乐


    需求与研究:
    1.IOS的酷我音乐软件,还是不错滴,可以直接下载APE或是320K的MP3音乐,但是我发现PC上的酷我反而没这个功能,而且其他的音乐软件一般只能下载中低品质的音乐。所以能够从IOS中找到一个方法把它下载的东西导出来还是很有必要的。
    2.在手机上下载一些无损音乐后将手机联机到PC,用PP助手或是itools等辅助工具能够打开酷我的文件目录。发现里面有一个music目录,里面的文件名都是纯数字地。我想iphone下载来马上转码肯定没那个速度,就算能转,估计现在也没有更好的格式可以保存音乐,尝试把这些文件直接拉倒PC上改名,恩,果然可以使用。但是问题是你不知道那个文件是什么音乐,那个应该是MP3那个应该是ape?这一个听过来肯定不是办法。
    3.网上搜索了一下,真有个哥们捣鼓出一个工具,不过每次使用还要访问一下他的博客,他用vb写的,编译成了一个EXE放在网上供大家下载,估计得到了不少的认可,至少访问量已经上去了。但是他没公布是如何做到的。
    4.对于IT宅来说,我猜应该不会很难,那个软件提示一定要把cloud.db文件也复制到pc,我用一文本编辑器打开看看是什么东西。哦,有戏,原来是sqlite数据文件啊。如果不是看到他写cloud.db那么我还是要做些分析工作,比如一个个打开每一个文件之类的,肯定能找到,但是他写了我就容易些,也要致敬一下。
    5.打开来看看就非常容易了,这个数据库中有一个MusicResource表,其中存放了歌曲的全部信息,类型、封面地址、试听地址、存放的文件名啥的都有,这就非常easy了,读出来,把Music目录里的文件的文件名改名到数据库里的名称就可以了。
    技术:
    1.sqlite访问方法。
    2.python基本的文件操作,主要是目录列表文件和改文件名,都是比较简单的。
     
    实现:
    1.用PP助手把cloud.db和music目录复制到硬盘的某个目录。
    2.在跟cloud.db平级的目录里编写一个小程序,算上空行和注释一共才32行。源代码如下:
    # encoding: utf-8
    __author__ = 'jy@cjlu.edu.cn'
    import sqlite3
    import os
    conn=sqlite3.connect("cloud.db")
    def GetNewFilename(filename):
        cu=conn.cursor()
        cu.execute("select artist,title,album,file,format from musicResource where file='%s'"%filename)
        r=cu.fetchone()
        if r is not None:
            artist,title,album,filename,format=r
            newfilename= "[%s-%s]-%s.%s"%(artist,album,title,format)
        return newfilename.replace("&","").replace(":","").replace("/","")
    def   ConvertFiles(path):
    
        if not os.path.exists(path):
            exit()
        pl=os.listdir(path)
        for file in pl:
            #如果不是目录就移动
            #计算新文件名
            if os.path.isfile(os.path.join(path,file)):
                newfilename=GetNewFilename(file)
                print os.path.join(path,file),"-->",os.path.join(path,newfilename)
                os.rename(os.path.join(path,file),os.path.join(path,newfilename))
    
    if __name__=="__main__":
    
        ConvertFiles("D:projectingKuwoMusic")
        conn.close()
    

      

    运行效果:
    1.KAKA,估计有版权风险,我就不放图片了;
    2.速度超级快,一下子就好了,技术上成本接近与0,会python的都能写出来,娱乐一下。
  • 相关阅读:
    「vue基础」一篇浅显易懂的 Vue 路由使用指南( Vue Router 下)
    「vue基础」一篇浅显易懂的 Vue 路由使用指南( Vue Router 上)
    mocha_JavaScript单元测试框架
    Node介绍
    javascript 时间格式化
    MacOS安装MongoDB
    wordpress创建过程
    博客框架推荐
    github基本使用
    基本操作3-分支冲突
  • 原文地址:https://www.cnblogs.com/pcode/p/3393996.html
Copyright © 2020-2023  润新知