V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
chrislon
V2EX  ›  Rust

用 Rust 写了一个批量下载网易云音乐 MV, MP3 的程序,包括协议的加密解密,欢迎各位拍砖

  •  
  •   chrislon · 2018-05-31 23:03:30 +08:00 · 5612 次点击
    这是一个创建于 2368 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Repo: https://github.com/lonnng/yinyue

    网易云音乐批量下载,支持下载 mp3 和 mv,支持歌单,专辑,歌手热门,电台,单曲,排行榜.

    - http://music.163.com/playlist?id=892177597
    - http://music.163.com/#/album?id=38595209"
    - http://music.163.com/#/song?id=557584888
    - http://music.163.com/#/artist?id=10559"
    - http://music.163.com/#/discover/toplist?id=3779629
    - http://music.163.com/#/djradio?id=527162580
    

    Build

    cargo build --release
    

    Usage

    Usage: target/release/yinyue [options] url
    
    Options:
        -t, --type          mp3 or mv
        -f, --format        filename format($name, $artist, $album)
        -q, --quality       quality(480/720/1080 for mv, 12800/19200/32000 for
                            music)
        -d, --dir           save to target directory
    

    参数解释

        -t, --type
          需要下载的类型,可选 mp3 或者 mv
          
        -f, --format
          保存文件的格式,$name: 歌名, $artist: 歌手名, $album: 专辑名),默认为$artist - $name
          
        -q, --quality
          下载多媒体质量,音频可选: 12800/19200/32000(单位比特率), 视频可选 480/720/1080(P)
          
        -d, --dir
          文件保存路径,如果路径不存在,会自动创建,默认为 music
    

    Example

    yinyue -t mv http://music.163.com/playlist?id=892177597
    
    21 条回复    2018-09-24 08:45:14 +08:00
    jasonsui
        1
    jasonsui  
       2018-05-31 23:46:24 +08:00 via Android
    使用略复杂,先帮顶
    em70
        2
    em70  
       2018-06-01 00:10:13 +08:00 via Android   ❤️ 1
    十年前就做过百度 mp3 top500 批量下载,现在下载需求越来越小,官方客户端下载支持也挺好,自娱自乐吧
    muziki
        3
    muziki  
       2018-06-01 01:31:49 +08:00 via iPhone
    crypto 最后那几个 is_none 用 unwrap_or 写下
    其他有些地方在函数内部“暴力” unwrap 换“?” 不是很建议那么 unwrap
    chrislon
        4
    chrislon  
    OP
       2018-06-01 07:11:27 +08:00 via Android
    @em70 主要是官方的不能批量下载 MV
    chrislon
        5
    chrislon  
    OP
       2018-06-01 07:11:59 +08:00 via Android
    @muziki 写的匆忙,还需要处理细节
    chrislon
        6
    chrislon  
    OP
       2018-06-01 07:13:19 +08:00 via Android
    @em70 我主要是用来下载车载 MV:)
    chrislon
        7
    chrislon  
    OP
       2018-06-01 08:09:00 +08:00
    @muziki 已经按照大佬的建议修改了,谢谢大佬
    FindHao
        8
    FindHao  
       2018-06-01 11:27:10 +08:00 via Android
    youget 应该也行吧?
    est
        9
    est  
       2018-06-01 11:55:23 +08:00
    其实应该做个聚合播放的。这样无论版权被谁买都能通听了。
    chrislon
        10
    chrislon  
    OP
       2018-06-01 12:30:45 +08:00 via Android
    @FindHao 了解了一下,youget 好像不行
    chrislon
        11
    chrislon  
    OP
       2018-06-01 12:30:59 +08:00 via Android
    @est 聚合播放会不会侵权
    est
        12
    est  
       2018-06-01 12:32:50 +08:00
    @chrislon 看你怎么定义侵权。。我弹个 iframe 也可以叫聚合。。。我不盈利也可以叫聚合。。。
    gonghao
        13
    gonghao  
       2018-06-01 13:12:38 +08:00
    歪个楼,楼主 Github 头像很瞩目~
    chrislon
        14
    chrislon  
    OP
       2018-06-01 13:52:35 +08:00 via Android
    @gonghao 注意力不应该在此
    misaka19000
        15
    misaka19000  
       2018-06-01 14:06:15 +08:00
    Rust 学起来是不是很难呀。。。
    LeungJZ
        16
    LeungJZ  
       2018-06-01 14:09:47 +08:00
    非会员也能下载?
    chrislon
        17
    chrislon  
    OP
       2018-06-01 18:10:14 +08:00 via Android
    @LeungJZ 是的
    chrislon
        18
    chrislon  
    OP
       2018-06-01 18:10:47 +08:00 via Android
    @misaka19000 不会,会 C++的,比较简单,有其他静态语言经验的也不会太难
    qdwang
        19
    qdwang  
       2018-06-01 18:28:39 +08:00
    挺好啊,建议 lz 在 release 里发布个二进制版本,方便没有 rust 的人
    chrislon
        20
    chrislon  
    OP
       2018-06-01 18:32:07 +08:00 via Android
    @qdwang 恩,晚上回去编译一个,放 release
    YongXMan
        21
    YongXMan  
       2018-09-24 08:45:14 +08:00
    是不是不能用了?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1995 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 00:22 · PVG 08:22 · LAX 16:22 · JFK 19:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.