如何解决如何使用 spotify api 和 python 获取用户热门曲目的数据?
我正在尝试获取用户的前 50 首歌曲以及每首歌曲的艺术家和流派。我如何做到这一点并将其存储为 json/csv 文件?我想根据他/她最常播放的歌曲来分析用户的音乐品味。我需要帮助在 python 中实现这个
import spotipy
from spotipy.oauth2 import *
CLIENT_ID="1415a876b86b41f6a43539db41fd****"
CLIENT_SECRET="fa1abef4174e47a9b14b8dedd4e8****"
REDIRECT_URI="http://127.0.0.1:5000/"
scopes=[
"user-top-read",]
scopes=" ".join(scopes)
class Track:
def __init__(self,track):
self.name=track['track']['name']
self.image_url=track['track']['album']['images'][1]['url']
artists=track['track']['artists']
self.artists=",".join(list(artists[i]['name'] for i in range(len(artists))))
dur=track['track']['duration_ms']//1000
self.duration=":".join([str(dur//60),"0"*(dur%60<10)+str(dur%60)])
self.preview_url=track['track']['preview_url']
def __str__(self):
return f"{self.name}-{self.artists}-{self.duration}\n{self.preview_url}\n{self.image_url}"
sp = spotipy.Spotify(
auth_manager=SpotifyOAuth(client_id=CLIENT_ID,client_secret=CLIENT_SECRET,redirect_uri=REDIRECT_URI,scope=scopes))
results = sp.current_user_playlists()
item=results['items'][0]
image_url=item['images'][1]['url']
name=item['name']
owner=item['owner']['display_name']
tracks=sp.playlist_items(item['uri'])
final_tracks=[]
for track in tracks['items']:
final_tracks.append(Track(track))
print(name,owner,image_url)
for track in final_tracks:
print(track)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。