Ich möchte eine Liste der Titel (mit Interpret, Album, Bewertung und, falls möglich, Anzahl der Wiedergaben und Dauer) von meinem Google Play Music- Konto aus drucken .
Es gibt keine einfache Möglichkeit, dies über die App zu tun. Es ist nicht haltbar, Druck-Screens zu machen, während ich durch eine lange Liste von Songs blättere.
Ich würde mich über einen Export von Daten in ein Standardformat (Klartext, CSV, XML usw.) freuen, das ich selbst manipulieren kann.
Irgendwelche Vorschläge?
Antworten:
Als ich die Antwort von darkliquid änderte , kam ich zu folgendem Ergebnis , mit dem mehrere Wiedergabelisten gleichzeitig gespeichert werden können .
Anleitung:
JSON.stringify(tracklistObj, null, '\t')
(ändern'\t'
in,' '
wenn Sie einen minimalen Einzug wünschen) odertracklistObj
nur das JavaScript-Objekt so bearbeiten, wie Sie es möchten. Wenn Sie es sortieren möchten, führen Sie den Befehl aus,Object.values(tracklistObj).forEach(a => a.sort())
bevor Sie den Befehl aufrufenJSON.stringify
.Achten Sie darauf, die Seite nicht zu aktualisieren, bevor Sie alle gewünschten Schritte ausgeführt haben. Andernfalls müssen Sie einen Neustart ab Schritt 1 durchführen.
Sie können auch Namen Spur auf der Konsole auszudrucken , wie Sie durch eine Änderung gehen
printTracksToConsole
zutrue
(Sie sollten diese vor dem 3. Schritt tun).Beachten Sie, dass Sie wahrscheinlich alle GET- und POST-Fehler in der Konsole ignorieren können (diese werden von Play Music selbst generiert, nicht von diesem Skript).
Beachten Sie auch , dass derzeit nur es das Setup zu geben
Artist - Track name
, aber Sie können leicht die Linie bearbeiten, hattracklistObj[currentPlaylist].push(artist + " - " + title);
mitalbum
,playCount
,duration
, oderrating
und / oder was auch immer Formatierungen , die Sie möchten (einschließlich CSV - Format , wenn Sie also bitte).Beispielausgabe (alle Google Play-Wiedergabelisten, die ich derzeit habe) mit Standardeinstellungen. Insgesamt dauerte es ungefähr 5 Minuten, bis die 32 Wiedergabelisten angezeigt wurden. Scrollen Sie nach unten und konvertieren Sie das Ergebnis in Text.
PS Sie könnten an einer von mir gefundenen Website mit dem Namen " Tune My Music" interessiert sein , um YouTube-Wiedergabelisten (YouTube beschränkt die Erstellung von Wiedergabelisten auf 10 pro Tag) aus der Ausgabe zu erstellen, damit Ihre Freunde Ihre Google-Wiedergabelisten anhören können. In diesem Fall möchten Sie wahrscheinlich TextMechanic verwenden , um die Anführungszeichen und
.mp3
aus der ausgegebenen Liste zu entfernen .quelle
(Aktualisiert am 09.05.2016, robuster als die aktuelle Top-Antwort)
Wenn Sie nur ein paar Wiedergabelisten speichern müssen, können Sie einfach mein Javascript-Snippet unten verwenden. Mit diesem Snippet kann jede Liste so gespeichert werden, wie sie auf der Webseite angezeigt wird, sodass es auch für alle Ansichten der Musik- / Album- / Künstlerbibliothek funktioniert. Ich habe am Ende dieser Antwort zwei weitere Alternativen aufgelistet.
Gehen Sie zu: https://play.google.com/music/listen#/all (oder Ihrer Wiedergabeliste)
Öffnen Sie eine Entwicklerkonsole (F12 für Chrome). Fügen Sie den folgenden Code in die Konsole ein.
Alle gescrapten Songs werden im
allsongs
Objekt gespeichert und eine Textversion der Liste wird in die Zwischenablage kopiert. Ich empfehle,songsToText("all",true)
danach auszuführen, um die vollständigen CSV-Informationen zu erhalten. Führen Siecopy(outText)
manuell , wenn die Zwischenablage kopiert nicht beim ersten Versuch nicht funktioniert.Code (neueste Version 10. Mai 2016, Rev. 30):
Letzter Code für Github (Gist) hier: https://gist.github.com/jmiserez/c9a9a0f41e867e5ebb75
Wenn Sie die Ausgabe in einem Textformat wünschen, können Sie die Funktion songsToText () aufrufen. Sie können einen Style auswählen, das Format auswählen und wenn Sie möchten, sollten nur Songs exportiert werden. Die resultierende Liste wird dann in die Zwischenablage eingefügt. Styles sind
all
,artist
,artistalbum
,artistsong
,artistalbumsong
. CSV führt zu einer CSV-Datei und kann weggelassen werden (standardmäßig false). Likedonly kann weggelassen werden (Standard ist false) oder auf true gesetzt werden und filtert alle Songs mit Bewertungen größer oder gleich 5. Beispiel:songsToText("all",true,false)
exportiert alle songs im csv format.songsToText("all",true,true)
exportiert nur beliebte songs im csv format.songsToText("artistsong",false,false)
exportiert alle Lieder als Text.Sie können die Daten dann an einer beliebigen Stelle einfügen, z. B. http://www.ivyishere.org/, wenn Sie die Titel oder Alben zu Ihrem Spotify-Konto hinzufügen möchten. Verwenden Sie den "artistalbum" -Stil, damit Ivy vollständige Alben erkennt. Verwenden Sie für Songs den "artistsong" -Stil.
Über das Snippet: Dies basiert auf der ursprünglichen Antwort von Michael Smith, ist jedoch etwas robuster. Ich habe folgende Verbesserungen vorgenommen:
Funktioniert sowohl mit Wiedergabelisten als auch mit der Bibliothek. Fehlende Spalten werden ignoriert und die Reihenfolge wird ermittelt. Daher sollte dies in fast jeder Songliste in Google Music funktionieren.
Es stoppt entweder am unteren Rand (erkennt die Bildlaufposition) oder nach dem angegebenen Timeout. Das Timeout verhindert eine Endlosschleife, falls der Bildlauferkennungscode um einige Pixel abweicht.
Es ist viel schneller (Intervall alle 1 ms), wartet aber, wenn die Daten nicht bereit sind (bis zum angegebenen Timeout, derzeit 3s).
Deduplizierung während des Betriebs und auf der Ausgabe.
Sammelt Bewertungen: "undefined" wird nie bewertet, "0" wird nicht bewertet (dh einmal bewertet, aber dann entfernt), "1" ist Daumen nach unten und "5" ist Daumen nach oben (gefällt).
Neben den grundlegenden Verbesserungen wird auch der Text schön formatiert und in die Zwischenablage kopiert. Sie können die Daten auch als CSV abrufen, indem Sie die
songsToText
Funktion ein zweites Mal ausführen.Alternativen:
Wenn Sie eine Python-API benötigen, lesen Sie das inoffizielle Google Music-API- Projekt.
Wenn Sie Unmengen von Wiedergabelisten haben und alle auf einmal exportieren möchten, probieren Sie den gmusic-scripts- Exporter für Wiedergabelisten aus, der dies ermöglicht (Python verwendet das inoffizielle API-Projekt).
quelle
songsToText("all", true)
anschließend aus.Wenn es Ihnen nichts ausmacht, JavaScript-Code in der Entwicklerkonsole Ihres Browsers auszuführen, können Sie Informationen wie folgt aus der Seite extrahieren (nur in Chrome getestet):
Dadurch wird eine Liste der meisten derzeit im Fenster sichtbaren Titel auf der Konsole ausgedruckt. Sie müssen nach unten scrollen und es erneut ausführen, um mehr zu erhalten. Im Moment habe ich noch keine vernünftige Methode gefunden, um die Informationen in ihrer Gesamtheit zu erfassen, aber dieser schnelle 5-Minuten-Hack ist besser als nichts.
quelle
querySelector(...)
querySelectorAll(...)[0]
Unter Verwendung der (damaligen) Top-Antwort und der Suche nach einer vollständigen Lösung habe ich den folgenden Code erstellt, mit dem die Musikliste gescrollt und JSON-Objekte einem Array hinzugefügt werden.
Da nicht genau bekannt ist, welche Songs sichtbar sind, fügt der Code alle hinzu und dupliziert sie am Ende. (Nur in Chrome getestet.)
Verwendung: Gehen Sie zu Ihrer Bibliothek, wo Sie Ihre vollständige Songliste sehen, und führen Sie sie aus
Wenn dies am Ende der Seite angezeigt wird, führen Sie dies aus, um den Bildlauf zu stoppen, das Array zu duplizieren und JSON in die Zwischenablage zu kopieren.
quelle
Ich habe ein viel kürzeres JavaScript, das Sie in die Konsole einfügen können. Anstatt den Code erneut auszuführen, können Sie einfach nach unten scrollen und alle Alben, die angezeigt werden, werden hinzugefügt. Dann können Sie die Wiedergabeliste als Tabelle herunterladen.
Anleitung
Gehen Sie hier: https://play.google.com/music/listen#/ap/auto-playlist-thumbs-up
Öffnen Sie die Entwicklertools (F12) und fügen Sie den folgenden Code in die Registerkarte " Konsole" ein
Scrollen Sie, damit jedes Album in der Wiedergabeliste mindestens einmal sichtbar ist
Doppelklicken Sie auf die Seite, um sie herunterzuladen
export-google-play.csv
export-google-play.csv
In Excel öffnen .Code
Ausgabe
GitHub
quelle
Ich habe den Ansatz der Top-Antwort ein wenig geändert. Dies funktionierte besser für mich mit der Copy / Paste-Methode von Ivy ( http://www.ivyishere.org/ivy ):
Schritt 1 Öffnen Sie die gewünschte Wiedergabeliste von Google Music in Chrome und fügen Sie diese in die Konsole ein:
Dies sollte dazu führen, dass Ihre gesamte Wiedergabeliste gerendert wird und nicht nur ein Teil.
Schritt 2 Fügen Sie dieses Skript in die Konsole ein:
Schritt 3 Wechseln Sie zu Ivy. Wenn Sie dort zu Schritt 2 gelangen, wählen Sie die Registerkarte Kopieren / Einfügen und fügen Sie die Konsolenausgabe dort ein.
BEARBEITEN
Aktualisiertes Skript von Alex Pedersen
Iterieren auf samurauturetskys Verfeinerung (Ich habe noch nicht genug Ruf, um seinen Beitrag zu kommentieren). Ich denke, das Googleplay-Design wurde aktualisiert, sodass das folgende Skript wieder eine hübsche Ausgabe liefert.
quelle
Tun Sie einfach Ctrl+, –bis der Text sehr klein ist, und wählen Sie dann den gesamten Text aus. Es funktioniert wie ein Zauber ohne Skripte und Apps.
quelle
Ich bin gerade auf diese Frage gestoßen und habe nach etwas Ähnlichem gesucht.
Ich denke, Ihre beste Option ist:
quelle