V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
ChristopherWu
V2EX  ›  分享创造

据网易云音乐上面的歌单来下载 FLAC 无损音乐

  •  
  •   ChristopherWu · 2016-04-29 17:56:23 +08:00 · 20402 次点击
    这是一个创建于 3122 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://github.com/YongHaoWu/NeteaseCloudMusicFlac 根据网易云音乐的歌单, 下载 flac 无损音乐到本地

    现在无损资源基本都是专辑, 很难找到单曲来下载. 而且下载需要每个专辑搜索一遍, 需要用云盘复制粘贴密码再下载. 这对于听 Hi-Fi 的人们来说是非常不便利的事情, 找歌曲可以找一整天. 而现在网易云音乐是绝大多数人听在线歌曲的平台, 歌单众多. 于是我想做如此一个项目, 根据网易云音乐上面的歌单, 自动下载 FLAC 无损音乐.

    欢迎 pull request, 也欢迎星星 我是 C++/C 以及 PHP 的熟手, python 才用过两次, 所以代码不成熟.欢迎指出不妥之处

    第 1 条附言  ·  2016-04-30 11:10:12 +08:00
    已经添加 python3 版本支持~
    感谢大家支持, 非常感动(⊙o⊙)
    第 2 条附言  ·  2016-05-01 12:20:00 +08:00
    好热情的说.
    顺便问大家一个问题, 我有在创建和运营一个公众号: 八分钟约会.
    就是在我的公众号里面, 可以匿名与随机的异性聊天, 只有 8 分钟的时间.
    8 分钟后如果感兴趣, 可以要对方的联系方式.
    现在有 3000+粉丝, 运营不给力, 没什么起色... 当时也是感兴趣而做的, 可以的话, 还是希望很多人使用 233
    大家有什么想法?
    50 条回复    2017-07-03 15:53:50 +08:00
    mysteri0uss
        1
    mysteri0uss  
       2016-04-29 18:03:45 +08:00
    百毒不会放过你的呵呵
    Kirscheis
        2
    Kirscheis  
       2016-04-29 18:09:00 +08:00 via Android
    确定从百度音乐下到的是无损吗?见过不少假无损的。。
    xuboying
        3
    xuboying  
       2016-04-29 18:10:59 +08:00 via Android
    一直不知道,这种网上下的带不带用户身份特征
    ChristopherWu
        4
    ChristopherWu  
    OP
       2016-04-29 18:12:24 +08:00
    @Kirscheis 都是几十 M 的, 应该是无损吧. 假无损我还是第一次听
    ChristopherWu
        5
    ChristopherWu  
    OP
       2016-04-29 18:12:47 +08:00
    @xuboying 不带吧? 最多纪录 IP.
    ChristopherWu
        6
    ChristopherWu  
    OP
       2016-04-29 18:13:33 +08:00
    @mysteri0uss 没有涉及商业信息, 传播不广没关系吧..
    xuboying
        7
    xuboying  
       2016-04-29 18:14:19 +08:00 via Android
    @ChristopherWu 技术上可以根据登录用户名嵌个加密的 tag 到文件里
    ChristopherWu
        8
    ChristopherWu  
    OP
       2016-04-29 18:17:21 +08:00   ❤️ 1
    @xuboying 哦~ 这个直接是 get 方式请求下载链接, 没有涉及模拟登陆. 所以没问题.
    bdbai
        9
    bdbai  
       2016-04-29 18:22:52 +08:00 via Android
    @ChristopherWu 你把 mp3 码率转高也能有几十 M
    mysteri0uss
        10
    mysteri0uss  
       2016-04-29 18:24:21 +08:00
    不妨把小于 10M 的自动删除😁
    ChristopherWu
        11
    ChristopherWu  
    OP
       2016-04-29 18:28:20 +08:00
    @mysteri0uss 好主意(⊙o⊙) 谢谢你
    ChristopherWu
        12
    ChristopherWu  
    OP
       2016-04-29 18:28:59 +08:00
    @bdbai 那这样判断不出了..看 bai* du 音乐给出来的 flac 是不是真无损了
    proudzhu
        13
    proudzhu  
       2016-04-29 18:50:15 +08:00 via Android   ❤️ 1
    @ChristopherWu 一般看频谱区分
    bdbai
        14
    bdbai  
       2016-04-29 18:59:24 +08:00 via Android
    @ChristopherWu 对的要看频谱,网上有很多教程,建议手动观察下。
    billlee
        15
    billlee  
       2016-04-29 19:30:46 +08:00
    @proudzhu 好像 192 kbps 以上的 mp3, 高频就可以达到 22 kHz 了
    xuwenmang
        16
    xuwenmang  
       2016-04-29 19:37:45 +08:00
    QQ 音乐才能反应时代潮流
    YUX
        17
    YUX  
       2016-04-29 19:49:14 +08:00
    会报错
    Traceback (most recent call last):
    File "main.py", line 44, in <module>
    songlink = d["data"]["songList"][0]["songLink"]
    IndexError: string index out of range
    YUX
        18
    YUX  
       2016-04-29 20:03:21 +08:00
    报错是因为不在墙里,翻回墙后正常
    ferran
        19
    ferran  
       2016-04-29 20:04:00 +08:00
    要看频谱的,以前就有许多假无损。。。
    Kisesy
        20
    Kisesy  
       2016-04-29 20:11:01 +08:00
    好尴尬啊,区分无损音乐的方法是看频谱
    ChristopherWu
        21
    ChristopherWu  
    OP
       2016-04-29 21:20:43 +08:00
    @YUX 恩, 是的. 海外不行, qiang 内就可以了.
    SoloCompany
        22
    SoloCompany  
       2016-04-30 01:10:05 +08:00
    提个建议啊
    那个

    http://music.163.com/#/playlist?id=145258012

    http://music.163.com/playlist?id=145258012
    的转换

    完全可以在程序里面做啊
    hefan121
        23
    hefan121  
       2016-04-30 09:09:26 +08:00
    感觉楼主的百度账号好危险
    ChristopherWu
        24
    ChristopherWu  
    OP
       2016-04-30 09:11:39 +08:00
    @bdbai 谢谢, 我已经下了 200 多首歌曲, 今天手动看看~
    ChristopherWu
        25
    ChristopherWu  
    OP
       2016-04-30 09:13:34 +08:00
    @SoloCompany 好主意(⊙o⊙) 但是在我的命令行里, 粘贴 URL 后 oh my zsh(iterm2) 会将它转义为 http://music.163.com/\#/playlist\?id\=145258012 不知道你们的是不是这样呢?
    Quaintjade
        26
    Quaintjade  
       2016-04-30 10:36:28 +08:00 via Android   ❤️ 1
    @proudzhu
    @bdbai
    @ferran
    @Kisesy
    其实频谱也可以骗的。曾经把 youtube 上音频抽出来,处理一下然后传到虾米上成功过审←← 还有软件能自动增加高频。。。
    对于 mp3 转的假无损,人工看频谱的识别率不会比 auCDtest 高。

    最靠谱的方法是整张专辑整轨下载,看 EAC 抓轨 log ,这也是为什么国内音乐站不待见分轨单曲。
    虽然也有蛋疼的方法可能能做假,但几乎不会有人那么做。
    ChristopherWu
        27
    ChristopherWu  
    OP
       2016-04-30 11:09:43 +08:00
    @SoloCompany 已经在程序里面把#/去掉了~~
    Procyon
        28
    Procyon  
       2016-04-30 11:39:44 +08:00 via Android
    请问下下载命中率大概多少
    Lattez
        29
    Lattez  
       2016-04-30 14:55:03 +08:00
    不错~一直想着把曲库换一遍 flac ,无奈自己太懒
    Lattez
        30
    Lattez  
       2016-04-30 15:01:36 +08:00
    试了几个歌单全是 do not have flac 。。没有一个成功的歌曲
    bdbai
        31
    bdbai  
       2016-04-30 16:16:14 +08:00 via Android
    @Quaintjade 这都可以...怎么处理呢?
    Quaintjade
        32
    Quaintjade  
       2016-04-30 17:29:11 +08:00 via Android   ❤️ 2
    @bdbai
    把原音频翻个五度、八度之类,调整下音量,叠加到原音频上就行,说白了就是人工制造泛音。
    虽然比较粗糙,而且仔细听会感觉有点怪,但用来打频谱党的脸够用。
    ChristopherWu
        33
    ChristopherWu  
    OP
       2016-04-30 22:02:10 +08:00
    @Procyon 大致 20%-50%左右, 看你听的歌曲是不是非常偏门的...
    ChristopherWu
        34
    ChristopherWu  
    OP
       2016-04-30 22:14:27 +08:00
    @Lattez 你好, 可以提供一下歌单吗? 在这里或者提交到 github 的 issue 里
    Lattez
        35
    Lattez  
       2016-04-30 22:24:29 +08:00
    @ChristopherWu http://music.163.com/#/playlist?id=164361783 比如这个,是个去年的专辑,我觉得可能是版权的问题
    ChristopherWu
        36
    ChristopherWu  
    OP
       2016-04-30 22:51:58 +08:00
    @Lattez 其实, 这里只有 18 首歌, 都是外国的歌曲, 不怎么热门, 所以百*木有 FLAC 咯(⊙o⊙)
    Lattez
        37
    Lattez  
       2016-04-30 23:03:31 +08:00
    @ChristopherWu 那就没办法了
    xuhao360
        38
    xuhao360  
       2016-05-01 11:34:43 +08:00
    @ChristopherWu 语法咋不对 啊
    ChristopherWu
        39
    ChristopherWu  
    OP
       2016-05-01 11:59:30 +08:00
    @xuhao360 不要进入 python 的环境, 直接在 windows 的命令行(终端)下, 输入命令 python main.py 歌单地址(如上图便是: http://music.163.com/#/playlist?id=145258012)
    ChristopherWu
        40
    ChristopherWu  
    OP
       2016-05-01 12:00:07 +08:00   ❤️ 1
    @Lattez 试试其他歌单咯(⊙o⊙) 不过你的歌单里好像都是英文歌 还有蹲妹的
    xuhao360
        41
    xuhao360  
       2016-05-01 15:09:05 +08:00
    @ChristopherWu 弱弱问句 下载文件 保存在什么地方去了 ,怎么 没找到
    ChristopherWu
        42
    ChristopherWu  
    OP
       2016-05-01 15:25:39 +08:00
    @xuhao360 就在 main.py (你下载的脚本)里的 songs_dir 目录里面. 恩, 我加上下载完后的提示在程序里面 : )
    sobigfish
        43
    sobigfish  
       2016-05-01 18:13:26 +08:00
    多刁钻的耳朵才要听盗版 flac-。-
    vvvoler
        44
    vvvoler  
       2016-05-02 13:13:05 +08:00
    C:\Users\v>python C:\python\main.py http://music.163.com/#/my/m/music/playlist?id=98355223
    fetching msg from http://music.163.com/#/my/m/music/playlist?id=98355223


    ================================================================

    Download finish!
    Songs' directory is C:\Users\v/songs_dir

    然后就啥也找不到了…………

    求教
    ChristopherWu
        45
    ChristopherWu  
    OP
       2016-05-02 15:54:54 +08:00
    @vvvoler 你的歌单正确的地址是: http://music.163.com/#/playlist?id=98355223
    然后... 因为歌曲都找不到, 所以为空.
    aksoft
        46
    aksoft  
       2016-05-06 16:09:55 +08:00
    aksoft
        47
    aksoft  
       2016-05-06 16:10:57 +08:00
    不能用了
    ChristopherWu
        48
    ChristopherWu  
    OP
       2016-05-12 21:48:29 +08:00
    @aksoft 其实复制到 zsh 的时候, 我的 zsh 会转义的: http://music.163.com/playlist\?id\=145258012
    所以你应该像上面地址那样转义
    ChristopherWu
        49
    ChristopherWu  
    OP
       2017-06-05 17:37:40 +08:00
    https://github.com/YongHaoWu/NeteaseCloudMusicFlacElixir

    用 Elixir 重写了一遍来学习 Elixir。
    wangran2003
        50
    wangran2003  
       2017-07-03 15:53:50 +08:00
    这是下载歌,还是 8 分钟聊天软件,我凌乱了。我觉得 8 分钟的那个想法挺好的,可能功能上可以再开发一些 - -/
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1307 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 23:56 · PVG 07:56 · LAX 15:56 · JFK 18:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.