FPs

豆瓣FM 紅心歌曲導入網易雲音樂

NeteaseMusic

從豆瓣FM 轉用網易雲音樂的幾個原因:

  • 版權大戰,豆瓣FM 裏面的歌曲大部分都播放不了了;
  • 豆瓣FM 音質太爛,相比QQ,網易,蝦米之類;
  • 豆瓣FM 在OS X 下無官方客戶端,網頁版又依賴Flash,多年後的新版才棄用了;
  • 豆瓣FM iOS App 常常需要重複登錄,有時是在升級之後,簡直不能忍;
  • 豆瓣FM 在北京移動的寬帶環境下常常播放卡頓,給豆瓣官方help 郵箱發郵件反饋,跑過他們的測試腳本,不了了之;

網易雲音樂的iOS App 和OS X App 都做的不錯,不過私人FM 的歌曲推薦相比豆瓣FM 還是差一大節,懷疑是紅心歌曲和垃圾歌曲標註的不夠,所以產生將豆瓣FM 紅心歌曲導入網易雲音樂的想法。
記得網易雲音樂一開始推出的時候,可以直接從豆瓣FM 和蝦米音樂導入歌單,目前已經不可用,所以只能自己動手了。

第一步,拉取豆瓣FM 紅心歌曲列表,新版的接口好像變了,直接用舊版的接口,登錄豆瓣FM 網頁版本,
打開https://douban.fm/mine/#!type=liked, Inspect 看一下網絡請求接口,找出類似:
http://douban.fm/j/play_record?ck=&spbid=&type=liked&start=
的請求,Copy As cURL,得到Cookie 之類的,

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/usr/bin/env bash
#Convert DoubanFM liked songs into KWL list.
#require:
#  jq: https://stedolan.github.io/jq/

COUNT=#liked songs number#

for i in `seq 0 15 ${COUNT}`;do
    songs=`curl -s 'http://douban.fm/j/play_record?ck=&spbid=&type=liked&start='$i\
           -H 'Host: douban.fm' -H 'User-Agent: '\
           -H 'Accept: text/plain, */*; q=0.01'\
           -H 'Accept-Language: en-US,en;q=0.5'\
           -H 'DNT: 1' \
           -H 'X-Requested-With: XMLHttpRequest'\
           -H 'Referer: http://douban.fm/mine/'\
           -H 'Cookie: '\
           -H 'Connection: keep-alive'\
           |jq '.songs'`
    for s in `seq 0 14`;do
        song=`echo $songs | jq .[$s]`
        title=`echo $song | jq .title`
        artist=`echo $song | jq .artist`
        echo $title $artist
        echo "<so name="$title "artist="$artist"></so>" >> Douban_FM.kwl
    done
    sleep 10
done

由於歌曲總數不一定是15 的倍數,所以最後可能會幾項是NULL ,手動刪除一下就好了。
生成的DoubanFM.kwl 是酷我的歌曲列表,上傳地址:http://music.163.com/#/import/kuwo,導入即可。
.kwl 內容片段:

<so>
<so name="とんちんかんちん一休さん" artist="相内恵 / ヤングフレッシュ"></so>
<so name="岛人ぬ宝" artist="BEGIN"></so>
<so name="美丽的梭罗河" artist="黄秋生"></so>
<so name="雨" artist="小果"></so>
<so name="Paradise" artist="Coldplay"></so>
<so name="Broken" artist="Jake Bugg"></so>
<so name="A Step You Can't Take Back" artist="Keira Knightley"></so>
<so name="Tokyo" artist="California Wives"></so>
<so name="痴人" artist="痴人 / 痴人"></so>
<so name="I Cried For You" artist="Katie Melua"></so>
<so name="Counting Stars" artist="OneRepublic"></so>
....
<so name="I Have Nothing" artist="Whitney Houston"></so>
<so name="Sometimes When We Touch" artist="Rod Stewart"></so>
<so name="From The Bottom Of My Broken Heart" artist="Britney Spears"></so>
<so name="Because I Love You" artist="Shakin Stevens"></so>
<so name="Rhythm Of The Rain" artist="Jason Donovan / The Cascades"></so>
<so name="织梦行云" artist="骆集益"></so>
</so>

導入網易雲音樂之後會生成一個和kwl文件同名的歌單,再在App 內操作導入到我喜歡的音樂 ,批量加紅心即可。目前看來導入之後,隔幾天,網易私人FM 的推薦稍微好了一些。

另外這次導入操作,豆瓣FM 歌曲下架的情況可以讓人非常吃驚:
我的豆瓣FM紅心歌曲總計1741 首,能播放的只有421 首,將其導入網易雲音樂能播放的有1271首

2016-05-16 music doubanfm