Я работаю над проектом, где мне нужно извлечь всю информацию, связанную с альбомами и треками артиста, используя API Spotify. Цель состоит в том, чтобы получить все детали, включая ISRC треков, для конкретного исполнителя. проблемы, включая ISRC для каждого трека. В настоящее время мой скрипт получает информацию, такую как название альбома, артист, Spotify Link, продолжительность трека и т. Д., Но я не могу получить ISRC. < /P>
Интересно, что я заметил Что если я сделаю запрос GET в почтальстве на одном треке, ответ JSON содержит ISRC, но я не могу адаптировать эту логику для автоматического извлечения ISRC для всех треков. < /p>
Вот те данные, которые я хочу извлечь: < /p>
Подробная информация о альбоме (имя, введите, дату выпуска и т. Д.) , продолжительность, номер трека и т. Д.) Кто -нибудь работал над чем -то подобным или мог предложить метод для извлечения ISRC вместе с другой информацией о треке? /> заранее спасибо < /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>
Я попытался запустить сценарий Python, чтобы получить альбом и отслеживать данные из Spotify, используя API Spotify. Я ожидал, что сценарий успешно собрал альбом и детали трека, включая коды ISRC, а затем сохранить данные в форматах JSON и CSV на рабочем столе. Тем не менее, сценарий сработал, как и ожидалось, выводя желаемые файлы JSON и CSV с деталями трека, включая коды ISRC для каждого трека.
Подробнее здесь: https://stackoverflow.com/questions/793 ... rc-from-an
Запрос на сценарий или метод для извлечения всей информации, включая ISRC, из каталога художника через API Spotify ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Spotipy: Попытка получить лучшего художника на основе имени пользователя Spotify
Anonymous » » в форуме Python - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-