Извлечь жанр исполнителя и дату выпуска песни с помощью spotipy - PullRequest
0 голосов
/ 06 мая 2020

Я сейчас занимаюсь извлечением определенных c элементов из песни в Spotify. Я хотел получить конкретную дату выпуска c и жанры от исполнителя. Я извлекаю информацию из pandas дейтаграмм, которая выглядит так: It contains Lyrics, title, genre, artist and release date. Я пытался сделать большую часть этого вручную, но, учитывая, что это фреймворк из примерно 1100 песен, это стало утомительно. Поэтому я ищу API, чтобы помочь с этим, в частности, spotipy. У меня есть идея, что я бы начал с:

import spotipy
from spotipy.oauth2 import SpotifyClientCredentials #To access authorised Spotify data
client_id = 'client_id'
client_secret = 'client_secret'
client_credentials_manager = SpotifyClientCredentials(client_id=client_id, client_secret=client_secret)
sp = spotipy.Spotify(client_credentials_manager=client_credentials_manager) #spotify object to access API
name = "AJR" #chosen artist
result = sp.search(name) #search query
result['tracks']['items'][0]['artists']

Но я не понимаю, откуда к go от этого. Я попытался просмотреть документацию, и, хотя есть информация о том, как получить жанр и дату со страницы Spotify для разработчиков, я не могу найти ее в spotipy. Любые предложения о том, где отсюда go или как реализовать алгоритм для получения желаемых деталей, были бы замечательными. Спасибо.

1 Ответ

0 голосов
/ 08 мая 2020

Spotify пока не раскрывает жанры треков. Вместо этого он отображает список жанров, с которыми связан исполнитель или альбом.

Точно так же он не раскрывает дату выпуска трека, а только показывает единственную дату выпуска для всего альбома. Итак, хотя я не уверен, что исполнитель может добавлять новые треки в альбом после того, как он был выпущен, это означает, что дата выпуска альбома не всегда может указывать правильную дату выпуска для всех треков в соответствующем альбоме.

Я попытался просмотреть документацию, и хотя есть информация о том, как получить жанр и дату со страницы Spotify For Developers, я не могу найти ее в spotipy.

Для доступа к информации о жанрах исполнителя или альбома вам необходим доступ к объекту с полной подкачкой. означает, что в нем отсутствуют некоторые дополнительные детали, хотя жанр является одним из них.

Вам необходимо сделать отдельный вызов соответствующей конечной точки для доступа к объекту полной подкачки. Например, этот код:

result = sp.search("AJR")
track = result['tracks']['items'][0]

artist = sp.artist(track["artists"][0]["external_urls"]["spotify"])
print("artist genres:", artist["genres"])

album = sp.album(track["album"]["external_urls"]["spotify"])
print("album genres:", album["genres"])
print("album release-date:", album["release_date"])

выводит:

artist genres: ['modern rock']
album genres: []
album release-date: 2020-02-12

Spotify может не знать жанры для некоторых альбомов (как показано выше) или исполнителей.

...