把 MixerBox 歌單匯入到 Spotify
本文由 個人medium文章 同步
筆者最近從 MixerBox 跳槽到 Spotify,但因為 Spotify 推薦的歌單不符合我的口味,又想把 MixerBox 歌單直接無痛移轉到 Spotify,網路上爬文許久,雖然有看到 Jerry 大大分享的這篇文章,但似乎已經沒辦法使用,既然沒有現成的解決方案,那我們就只好動動自己的小腦袋了🧠
貼心體醒:接下來的內容並不會要求撰寫/查看任何程式🙂
使用工具:瀏覽器, Visual Studio Code
筆者在目前看到的平台歌單轉移工具 TuneMyMusic 中,我發現了一個可能性,在第一步選擇歌曲來源時,有一個選項叫做「任意文本」。

點了之後才發現,原來可以利用歌名加上換行分隔作為清單進行匯入!那事情就簡單多了,我們只要能拿到自己播放清單中的歌曲文字列表就可以直接匯入。

接下來我們來到 MixerBox Web 版頁面,點擊「我的音樂庫」,可以看到自己的歌單。

點擊你想要的歌單後,所有歌曲都會呈現在頁面上。

那麼接下來的問題是:「如何用快速又有效的方式,去擷取這些文字然後透過換行隔開每首歌曲?」(絕對不會是滑鼠按著滑到最下面:)
筆者身為不專業的工程師,時常都會在 Edge 瀏覽器上打開「開發人員工具」,去看看這個網站是如何載入資料、Call 了哪些 API😈😈。
你們可能猜到我要做什麼了,那麼事不宜遲,接下來就介紹我的作法吧~
首先在剛剛的歌單頁面中打開「開發人員工具」(快捷鍵 F12 或 Ctrl + Shift + C),接著點擊「網路」頁籤,下方會出現一排的 Requests (如果沒有記錄,按 F5重整就有了)。

接著在篩選欄內輸入api/playlist,點擊下方第一筆記錄,在右方點選「預覽」,我們會發現歌曲資料都在items屬性裡面。

滑鼠移至 items屬性上點擊右鍵,接著點擊「複製值」。

打開 Visual Studio Code,建立一個空白檔案,將剛剛複製的內容貼上去。

註:f是 youtube 連結的代號,tt是每一首歌的標題,目前還不確定是否可一次性將大量的 youtube 連結匯入至歌單,所以就先以取得標題為主吧
那麼我們要的內容(標題)在 tt 這個屬性內,現在可以利用 VSCode 的正則尋找方式,將擁有這個屬性的列選取起來。
按下 Ctrl + F,輸入"tt": "(.*)"後按下旁邊第三個按鈕,可以找到所有符合這個屬性的列:
"tt": "(.*)"
註: 雙引號是英文半形哦~
接著,按照以下步驟進行:
- 點擊文字框,按下
Alt + Enter鍵,會將所有符合的行全部選取起來 - 將選取文字複製 (
Ctrl + C) - 把當前檔案的所有文字替換成剛剛複製的文字(
Ctrl + A,Ctrl + V)
最後結果會變得像這樣:

註: Alt + Enter 若沒反應可以在輸入框內點擊一次,再按一次快捷鍵接著再從剛剛 Ctrl + F 打開的那個小視窗中,最左邊有個小箭頭點開,輸入$1,接著按下右方的「全部取代」(紅色圈起處)。

這樣就拿到所有的歌曲名字囉~而且還這麼剛好用換行隔開了!

註: 還有原本的文字內容如果有雙引號的話會用\"轉譯,記得將它們取代回雙引號",不過筆者認為應該是不怎麼影響啦 XD
最後我們可以將處理好的文字貼上 TuneMyMusic 中。

接著一路點擊下方的按鈕,目的地選擇「Spotify」即可(當然你要轉移到其他平台也是可以 XD)。
最後的最後筆者提醒大家~這種方式不一定能百分之百匯入成功,似乎跟平台的兼容性有關,畢竟 Mixerbox 歌曲大多來源自 Youtube,直接將它們匯入多少會有一些缺失。
像筆者這次匯入 Spotify 的 460 首也高達 77 首匯入失敗,但想想至少還有 300 多首可以直接無痛轉移過來到另個平台,也算是不小的收穫。

參考資料:
感謝 Hsu Jerry 大大撰寫的文章,這給我一個很棒的靈感:MixerBox 轉移歌曲清單到YouTube Music. 筆者最近幾年使用的音樂串流服務軟體是MixerBox,優點是免費,缺點是無法背景… | by Hsu Jerry | Medium
VS Code 小技巧 — 使用正規表達式(Regular Expression)來尋找和取代文字 — IT 空間 (jiatool.com)