Playlist von Spotify zu YouTube Music übertragen
Ich habe mir vor kurzem YouTube Premium gegönnt. Darin ist YouTube Music enthalten, als langjähriger Spotify Nutzer hatte ich aber jetzt das Problem, dass ich meine Lieblingssongs gerne als Playlist bei YouTube Music hätte.
Die zahlreichen Online-Dienste und Apps übertragen meist nur ein paar hundert Songs kostenlos und verlangen einen bezahlten Premium-Account für mehr. Da ich aber keine Lust habe, zusätzlich zu meinen Streaming-Abo noch mehr Geld auszugeben und ich zudem auch Bedenken bezüglich des Datenschutzes für gerechtfertigt halte, konnte ich eine - zumindest für technisch affine Menschen - bessere Lösung finden.
Diese Anleitung geht davon aus, dass die Anwendungen git
, python
und pip
bekannt und installiert sind.
Vorbereitung bei Spotify
Wenn die Lieblingssongs übertragen werden sollen, sollte man diese bei der Spotify Anwendung auf einem Mac, Windows oder Linux Rechner öffnen. Dort kann man mit z.B. “Command” + “A” unter macOS alle Songs markieren und danach diese über einen Rechtsklick zu einer neuen Playlist hinzufügen.
Anschließend muss über den Spotify-Bereich für Entwickler eine neue Anwendung erstellt werden und die Client ID und das Client Secret zwischengespeichert werden.
Vorbereitung bei YouTube Music
Da die offizielle API von Google leider starke Begrenzungen hat, werden wir den Weg über eine Python-Bibliothek nehmen, welche diese mit dem gleichen Aufruf, wie ein Browser sie machen wurde, umgeht.
Hierzu müssen wir nun aber in einem Browser die YouTube Music Anwendung öffnen und wie hier beschrieben die Request Headers kopieren bzw. eine manuelle headers_auth.json
Datei erstellen.
Die Übertragung
Nun dieses Repo von GitHub lokal klonen:
git clone https://github.com/sigma67/spotifyplaylist_to_ytmusic.git
Dann die Abhängigkeiten installieren:
pip install -U -r requirements
Anschließend die Einstellungsdatei aus der Vorlage erstellen:
cp settings.ini.example settings.ini
Nun die in den vorbereiteten Schritten gespeicherten Zugangsdaten von Spotify und YouTube Music in der Datei einfügen und danach mit:
python YouTube.py <spotifylink>
Die Playlist übertragen. Hierbei ist <spotifylink>
der Link zu unserer Playlist auf Spotify.
Anmerkungen
Ich bin etwas anders zur Lösung gekommen. Da ich manuell eine headers_auth.json
Datei erstellt habe, musste ich den Code in der Anwendung etwas anpassen.
In der YouTube.py
Datei muss die Zeile YTMusic(settings['youtube']['headers'], settings['youtube']['user_id'])
hierfür auf YTMusic('headers_auth.json')
abgeändert werden. Das ist alles.
Kommentare
Sie können Ihr Fediverse-Konto (z. B. Mastodon und viele andere) verwenden, um auf diesen Beitrag zu antworten.