网易云音乐歌单里面的歌又神秘消失 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
div class="inner" id="node_sidebar"> 工单节点使用指南
请用平和的语言准确描述你所遇到的问题
厂商的技术支持和你一样也是有喜怒哀乐的普通人类,尊重是相互的
如果是关于 V2EX 本身的问题反馈,请使用 反馈 节点
zjyd
V2EX    全球工单系统

网易云音乐歌单里面的歌又神秘消失

  •  
  •   zjyd 2017-07-27 21:26:59 +08:00 9259 次点击
    这是一个创于 3074 天前的主题,其中的信息可能已经有所发展或是发生改变。

    每次听到喜欢的歌都会点下,放在默认的“我喜欢的音乐”歌单里面,就这么慢慢了攒了一百多首。5 月 5 号的时候突然就消失的剩下几首了,联系云音乐小秘书几天没人回,检查登录记录没什么问题,没辙,就凭回忆再凑上别的歌,凑凑也又几十首,不过英文歌多半没找回。然鹅,就在一小时前,打开网易云音乐,又 TM 剩下几首,我这也是心累,真有写了两年日记,趁我我不在偷偷的撕了,然后给我一摞新本子的感觉。 http://i4.eiimg.com/1949/78cac8d7ecec9fc5.jpg

    28 条回复    2017-08-13 10:21:26 +08:00
    wisej
        1
    wisej  
       2017-07-27 21:51:57 +08:00 via Android   1
    可是一加?
    aalska
        2
    aalska  
       2017-07-27 23:09:21 +08:00   1
    所以这就是我用 QQ 音乐的理由
    CEBBCAT
        3
    CEBBCAT  
       2017-07-27 23:28:17 +08:00 via Android
    网易云音乐 - 左侧会员中心 - 拉到底端 - 帮助于反馈 - 联系云音乐客服
    CEBBCAT
        4
    CEBBCAT  
       2017-07-27 23:29:40 +08:00 via Android   1
    这是上一次客服提示我的,也提示给你好了:
    您好,您好 ,歌单恢复需要您提供以下内容:1.所删歌单的名字; 2.所需恢复歌单中歌曲的大概数量; 3.误删歌单的时间段。 温馨提醒:已经下架的歌曲将不在可恢复列表内。
    我的答复是:
    [歌单恢复请求]
    1. 名称:“我喜欢的音乐”
    2. 650 首左右
    3. 删除时间应为 7 月 1 日下午五点至 7 月 3 日之间,删除后未进行增删操作
    weakish
        5
    weakish  
       2017-07-28 00:00:19 +08:00   2
    > 我这也是心累,真有写了两年日记,趁我我不在偷偷的撕了,然后给我一摞新本子的感觉。

    自己应该抄一份。
    网易云并没有 SLA,不应该这么相信它。
    另外,好像网易云音乐的歌单最多只能保存 1000 首( web 界面)到 10000 首(客户端),
    不知道现在改了没有。
    也就是说这日记本可能还有页数限制。

    最简单的,把喜欢的音乐都下载下来,这也顺便解决了版权问题之类音乐下架的问题。

    或者,如果本地硬盘空间不足,可以记录歌曲的元信息。
    网易云的 api 虽然不开放,不过 GitHub 上有很多库。
    基于这些库写脚本很方便。

    如果你的机子上有 python 3.6 的话,可以试试这个脚本:

    https://github.com/weakish/fm163

    基本用法是:

    python fm163.py -D http://我喜欢的音乐的网址

    然后通过

    python fm163.py -j

    导出为 json 格式

    文件在 `~/.fm163`: songs_id.json 是音乐的 id,meta.json 则包括歌名、专辑名、作者等等。

    以后喜欢了新音乐,定期跑上面两个命令更新。
    我是把`~/.fm163`用 git 管理,同时备份到远程,防止万一脚本改乱了把历史都清了。

    当初写这个脚本是为了下载音乐,
    因为下载网易云音乐的脚本不少,但没找到保存完整的元信息的,所以自己写了个。
    现在网易云的 api 变了,无法下载了,但是保留元信息的功能还可以用。
    zjyd
        6
    zjyd  
    OP
       2017-07-28 08:10:06 +08:00 via Android
    @wisej 一加 3
    zjyd
        7
    zjyd  
    OP
       2017-07-28 08:14:53 +08:00 via Android
    @CEBBCAT 谢谢,以前在知乎看到有问题联系网易云小秘书,也就联系小秘书不过没人回,没想到要真正的是小 云客服
    zjyd
        8
    zjyd  
    OP
       2017-07-28 08:24:34 +08:00 via Android
    @weakish 非常感谢!因为自己常听的歌不是很多,流量也够用,且对大厂充满信任(使用合规合法),所以没有考虑那么到,终归看来还是自己的硬盘靠谱啊。
    gam2046
        9
    gam2046  
       2017-07-28 09:22:40 +08:00
    @weakish 在 dockers 里跑了一下没成功 python:3.6alpine-3.6。

    python fm163.py -D playlist_url

    Error encountered to access file /root/.fm163/history
    errno 2: No such file or directory.
    Traceback (most recent call last):
    File "fm163.py", line 338, in main
    download(arguments.playlist_id, arguments.D, arguments.H)
    File "fm163.py", line 198, in download
    history: SortedSet = load_history()
    File "fm163.py", line 132, in load_history
    with history_db().open(mode="rb") as history_file:
    File "/usr/local/lib/python3.6/pathlib.py", line 1161, in open
    opener=self._opener)
    File "/usr/local/lib/python3.6/pathlib.py", line 1015, in _opener
    return self._accessor.open(self, flags, mode)
    File "/usr/local/lib/python3.6/pathlib.py", line 387, in wrapped
    return strfunc(str(pathobj), *args)
    FileNotFoundError: [Errno 2] No such file or directory: '/root/.fm163/history'

    然后手动创建目录 mkdir /root/.fm163.history 再次运行 提示

    rror encountered to access file /root/.fm163/history
    errno 21: Is a directory.
    Traceback (most recent call last):
    File "fm163.py", line 338, in main
    download(arguments.playlist_id, arguments.D, arguments.H)
    File "fm163.py", line 198, in download
    history: SortedSet = load_history()
    File "fm163.py", line 132, in load_history
    with history_db().open(mode="rb") as history_file:
    File "/usr/local/lib/python3.6/pathlib.py", line 1161, in open
    opener=self._opener)
    IsADirectoryError: [Errno 21] Is a directory: '/root/.fm163/history'

    于是乎删除 history 目录,但是保留 /root/.fm163/ 再次运行
    FileNotFoundError: [Errno 2] No such file or directory: '/root/.fm163/history'

    所以 是我的姿势不对么
    natforum
        10
    natforum  
       2017-07-28 09:49:40 +08:00
    那是我给你取消的,我看你不怎么喜欢听
    zjyd
        11
    zjyd  
    OP
       2017-07-28 09:56:45 +08:00
    @natforum #10 你再这样我只能自己唱歌给自己听了
    annielong
        12
    annielong  
       2017-07-28 10:39:31 +08:00
    早就证明了云服务都不怎么可靠,本地的才可靠
    denonw
        13
    denonw  
       2017-07-28 11:23:42 +08:00
    顺路安利下自己写的一个脚本, 同步网易云音乐歌单到 qq 音乐 https://github.com/Denon/syncPlaylist
    CEBBCAT
        14
    CEBBCAT  
       2017-07-28 12:06:37 +08:00   1
    @zjyd
    楼主你用贴图库当正文图床过一段时间图片时会被删除滴……我帮你传到 Imgur 了:

    @weakish #5
    之前还没想过备份这件事儿,经你一提醒倒是觉得有必要了,况且还有这么方便的脚本;可有一个小问题:Json 格式的该要怎么导回去?查了一圈没找到 Json 到.kwl 或者.kgl 的转换器(这二者是网易云音乐支持导入的歌单的格式)
    @denonw #13
    真巧!我刚找到一个 QQ 音乐到网易云音乐的转换网站: http://144.48.7.239:5000/convert.html ( https://github.com/comwrg/xMusicWeb
    CEBBCAT
        15
    CEBBCAT  
       2017-07-28 12:08:51 +08:00
    @CEBBCAT #14
    忘了说,我十有八九是被降权了,楼上各位收不到我的恢复提醒也不要担心,但愿你们能收到我文中的信息吧

    我能怎么办?我也很无奈啊...
    Antidictator
        16
    Antidictator  
       2017-07-28 12:15:22 +08:00   2
    @zjyd @weakish @denonw 楼上有人找你


    @CEBBCAT 不用谢:)
    CEBBCAT
        17
    CEBBCAT  
       2017-07-28 12:41:21 +08:00
    @Antidictator #16
    我就要给你发铜币
    FanWall
        18
    FanWall  
       2017-07-28 12:55:12 +08:00
    网易云产品一生黑:一年份的有道云笔记因为某个客户端版本的 BUG 全部丢失,立刻找客服,客服跟我说服务器上没有备份了。这有什么资格做云服务?

    而且它的年费会员比印象还贵,从此印象一生推
    denonw
        19
    denonw  
       2017-07-28 13:48:45 +08:00
    @CEBBCAT 他这个只是导出歌单然后再导入吧,还是有点不一样的。
    connie1027
        20
    connie1027  
       2017-07-28 15:10:26 +08:00
    我会说我之前辛辛苦苦建的歌单都不翼而飞了吗,我一首歌一首歌又听了遍,再加入的歌单!!!
    weakish
        21
    weakish  
       2017-07-28 20:54:49 +08:00
    @gam2046 是我的问题。出错信息`FileNotFoundError`显示我漏掉了文件不存在的情形。最新的 commit 修复了这个问题。pull 后把 `~/.fm163`删掉重新跑应该可以正常运行。
    weakish
        22
    weakish  
       2017-07-28 21:21:33 +08:00   1
    @CEBBCAT 网易云音乐只支持从别人那里导歌单,并不支持将自己的歌单导入导出。

    需要根据导出、保存的单曲 id ( songs_id.json ),通过单曲添加的方式变相「导入」。

    这里有网易云音乐添加单曲到歌单的 api,不知道好不好用:

    https://github.com/sqaiyan/netmusic-node/blob/master/app.js#L241

    这部分代码没有写,涉及到 api 接口请求频率的问题,还要伪装自己的身份的问题。
    目前 fm163 并不涉及账户,因此最坏的情况也就是网易把 ip 封掉,
    如果要写,必须涉及账号,万一非法请求被网易检测到,可能会封账号,
    要把风险降到最低,需要写滴水不漏的代码,包括异常情况下要和网易云音乐的客户端表现一样。
    关键是网易云音乐的 api 还老是变来变去。。。
    secondwtq
        23
    secondwtq  
       2017-07-29 09:10:12 +08:00
    我记得网易云的歌要是直接下架了(搜索都搜不到,不是灰掉),歌单里面的也会悲剧
    seiuneko
        24
    seiuneko  
       2017-07-29 19:09:54 +08:00
    @weakish #5
    报错
    >>> python3.6 -VV
    Python 3.6.1 (default, Mar 22 2017, 06:17:05)
    [GCC 6.3.0 20170321]
    8660 ~/Downloads/fm163
    >>> uname -srvpio
    Linux 4.10.0-28-generic #32-Ubuntu SMP Fri Jun 30 05:32:18 UTC 2017 x86_64 x86_64 GNU/Linux
    8661 ~/Downloads/fm163
    >>> python3.6 fm163.py -D 455717860
    Error encountered to access file /tmp/tmp7mzj5bzu
    errno 18: Invalid cross-device link.
    Traceback (most recent call last):
    File "fm163.py", line 365, in main
    download(arguments.playlist_id, arguments.D, arguments.H)
    File "fm163.py", line 235, in download
    save_meta(meta)
    File "fm163.py", line 172, in save_meta
    json_dump(record, meta_db())
    File "fm163.py", line 108, in json_dump
    serialize(thing, path, "w", serialize_with_json)
    File "fm163.py", line 97, in serialize
    os.replace(temporary_file_path, path)
    OSError: [Errno 18] Invalid cross-device link: '/tmp/tmp7mzj5bzu' -> '/home/f_nebula/.fm163/meta.json'


    然后
    --- /home/f_nebula/Downloads/fm163/fm163.py~
    +++ /home/f_nebula/Downloads/fm163/fm163.py
    @@ -78,7 +78,7 @@
    # temporary_file_handler: int = handler
    # temporary_file_path: str = path
    # temporary_file_handler, temporary_file_path = tempfile.mkstemp(dir=Path.cwd(), text=True)
    - handler, p = tempfile.mkstemp(text=True)
    + handler, p = tempfile.mkstemp(dir=".", text=True)
    temporary_file_handler: int = handler
    temporary_file_path: str = p
    xcodebuild
        25
    xcodebuild  
       2017-07-29 22:45:11 +08:00
    我的也消失了。。。
    zjyd
        26
    zjyd  
    OP
       2017-07-30 00:46:17 +08:00 via Android
    @codefalling 我的已经通过云客服找回了,不过考虑到消失过两次,现在开了个会员,把歌曲全部下载到本地了。
    asdwddd
        27
    asdwddd  
       2017-07-30 12:45:29 +08:00
    嘿嘿 有人还用着网易的记帐软件...
    weakish
        28
    weakish  
       2017-08-13 10:21:26 +08:00
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2522 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 15:09 PVG 23:09 LAX 07:09 JFK 10:09
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86