欢迎访问宙启技术站
智能推送

使用spotipy库在Python中获取Spotify用户的播放历史记录

发布时间:2023-12-28 06:14:40

spotipy是一个Python库,用于与Spotify Web API进行交互,可以获取Spotify用户的播放历史记录。以下是一个使用spotipy库获取Spotify用户播放历史记录的示例:

首先,确保已在Spotify开发者网站上注册了一个应用程序,获取到OAuth2凭据。你可以在https://developer.spotify.com/上注册一个新的应用程序,并获取到Client ID和Client Secret。

在Python中,你需要安装spotipy库。可以使用以下命令安装spotipy:

pip install spotipy

接下来,在Python脚本中导入spotipy库和其他所需的库:

import spotipy
from spotipy.oauth2 import SpotifyOAuth

然后,使用OAuth2凭据创建一个spotipy的授权对象:

scope = "user-read-recently-played"
sp = spotipy.Spotify(auth_manager=SpotifyOAuth(scope=scope))

在这个示例中,我们指定了scope为“user-read-recently-played”,表示我们要获取用户的最近播放记录。

接下来,使用spotipy库提供的方法来获取用户的最近播放记录:

play_history = sp.current_user_recently_played(limit=10)

在这个示例中,我们指定了limit为10,表示我们仅获取10条最近的播放记录。

最后,遍历播放历史记录并打印出来:

for item in play_history["items"]:
    track = item["track"]
    artist = track["artists"][0]["name"]
    name = track["name"]
    print(f"{artist} - {name}")

以上示例代码将打印出用户最近10次播放的艺术家和歌曲名称。

完整的示例代码如下:

import spotipy
from spotipy.oauth2 import SpotifyOAuth

scope = "user-read-recently-played"
sp = spotipy.Spotify(auth_manager=SpotifyOAuth(scope=scope))

play_history = sp.current_user_recently_played(limit=10)

for item in play_history["items"]:
    track = item["track"]
    artist = track["artists"][0]["name"]
    name = track["name"]
    print(f"{artist} - {name}")

通过这个示例,你可以从Spotify的API中获取用户的播放历史记录,并在Python中进行处理和分析。你还可以根据自己的需要设置不同的范围(scope)和限制(limit),以获取更多或更少的播放历史记录。