#python-3.x #spotipy
#python-3.x #spotipy
Вопрос:
Я новичок в Spotipy, поэтому мне нужна помощь.
searched = sp.search(q=search, type="track", limit=1)
artist = searched['tracks']['items'][0]['artists'][0]['name']
search
это из моего бота Discord, и он отлично выполняет поиск, все данные здесь. Но я не мог понять, как получить всех исполнителей песни. Я знаю, что это должно что-то делать с ['0']
there, потому что это просто получает первый элемент. Какие-либо исправления?
Ответ №1:
Попробуйте это и сообщите, как выглядит результат:
artist = searched['tracks']['items'][0]['artists']
Ответ №2:
Я считаю, что исполнитель — это массив всех исполнителей этой песни (первый, возвращенный из поиска), оттуда вы должны иметь возможность перебирать этот массив, чтобы получить всех исполнителей этой песни. Я думаю, что тогда:
artist[i]['name']
это даст вам имя исполнителя.
Возможно, после [‘artists’] требуется еще один ключ, если вы выведете значение исполнителя на консоль, вы сможете определить точный путь, куда вам нужно идти.
Я нашел аккуратную библиотеку, которая выводит словари (и множество других вещей) в форматированном виде: pprint. Я бы рекомендовал попробовать и посмотреть, сможете ли вы его найти. т.е.
import pprint as p
p.pprint(artist)
Поначалу результат sp.search может быть ошеломляющим, поскольку он включает в себя так много данных (большинство из которых вам, вероятно, не нужны), но я обнаружил, что просмотр словаря с помощью pprint был действительно полезным.