Anfrage nach Skript oder Methode zum Extrahieren aller Informationen, einschließlich ISRC, aus dem Katalog eines KünstlePython

Python-Programme
Guest
 Anfrage nach Skript oder Methode zum Extrahieren aller Informationen, einschließlich ISRC, aus dem Katalog eines Künstle

Post by Guest »

Ich arbeite an einem Projekt, bei dem ich alle Informationen zu den Alben und Tracks eines Künstlers mit der Spotify -API extrahieren muss. Das Ziel ist es, alle Details, einschließlich des ISRC der Tracks, für einen bestimmten Künstler abzurufen. Schwierigkeiten haben, das ISRC für jeden Track einzubeziehen. Derzeit zieht mein Drehbuch Informationen wie Albumname, Künstler, Spotify -Link, Trackdauer usw., aber ich kann den ISRC nicht abrufen. Wenn ich eine Get -Anfrage in Postman für einen einzelnen Track stelle, enthält die JSON -Antwort die ISRC, aber ich kann diese Logik nicht anpassen, um den ISRC für alle Tracks automatisch abzurufen. < /p>
Hier sind die Art von Daten, die ich extrahieren möchte: < /p>
Albumdetails (Name, Typ, Veröffentlichungsdatum usw.) < /p>
Trackdetails (Name , Dauer, Spurnummer usw.) < /p>
ISRC (falls verfügbar) < /p>
Andere relevante Künstler- und Track -Informationen < /p>
Hat jemand an etwas Ähnlichem gearbeitet oder könnte eine Methode vorschlagen, um das ISRC zusammen mit anderen Track -Informationen abzurufen? /> Danke im Voraus < /p>
import requests
import json
import os
import pandas as pd

# Spotify API token (Bearer)
access_token = 'BQAklJ5PTha5BQq5TKBvkJGq534QJpt6cOvJuRktcIqt89xTSO3_GHZ6zMlTNknusz08eBcJ-jOXpVi3RYChF5pWw-CGM2UK0MPZy5nB2dTrFldLW7I'

# URL base di Spotify API
base_url = "https://api.spotify.com/v1/artists/4ILj ... FuF/albums"
headers = {
"Authorization": f"Bearer {access_token}"
}

# Funzione per recuperare tutti gli album
def get_albums(artist_id):
albums = []
url = base_url.format(artist_id)

while url:
response = requests.get(url, headers=headers)
data = response.json()

albums.extend(data.get('items', [])) # Assicurati che 'items' esista
url = data.get('next') # Segui il link "next" se esiste

return albums

# Funzione per recuperare tutte le tracce di un album
def get_tracks(album_id):
tracks = []
url = f"https://api.spotify.com/v1/albums/{album_id}/tracks"

while url:
response = requests.get(url, headers=headers)
data = response.json()

tracks.extend(data.get('items', [])) # Assicurati che 'items' esista
url = data.get('next') # Segui il link "next" se esiste

return tracks

# Recupera gli album
artist_id = "4ILjvUnCyiEU1aZpaQFFuF" # ID Spotify dell'artista
albums = get_albums(artist_id)

# Recupera tutte le tracce di ogni album
all_tracks = []
for album in albums:
album_tracks = get_tracks(album['id'])
for track in album_tracks:
track['album'] = album # Aggiungi l'album alla traccia
all_tracks.extend(album_tracks)

# Costruisci il JSON finale
final_data = []
for album in albums:
album_data = {
"album": album,
"tracks": []
}
# Aggiungi solo le tracce appartenenti a questo album
for track in all_tracks:
if track['album']['id'] == album['id']: # Verifica l'ID dell'album
album_data['tracks'].append(track)

final_data.append(album_data)

# Salva tutte le tracce in un file JSON sul desktop
desktop_path_json = os.path.join(os.path.expanduser("~"), "Desktop", "spotify_tracks.json")

with open(desktop_path_json, 'w', encoding='utf-8') as f:
json.dump(final_data, f, ensure_ascii=False, indent=4)

print(f"File JSON salvato sul desktop: {desktop_path_json}") # Debug

# Funzione per convert
< /code>
Ich habe versucht, ein Python -Skript auszuführen, um Album abzurufen und Daten von Spotify mithilfe der Spotify -API zu verfolgen. Ich erwartete, dass das Skript Album und Trackdetails, einschließlich ISRC -Codes, erfolgreich sammeln und dann die Daten in JSON- und CSV -Formaten auf dem Desktop speichern würde. Das Skript funktionierte jedoch wie erwartet und gab die gewünschten JSON- und CSV -Dateien mit Spurdetails aus, einschließlich der ISRC -Codes für jeden Track.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post