gpt4 book ai didi

python - Spotipy:如何从播放列表中读取超过 100 首轨道

转载 作者:太空狗 更新时间:2023-10-30 01:53:35 26 4
gpt4 key购买 nike

我正在尝试使用 Spotipy library 提取特定播放列表中的所有轨道对于 python 。

user_playlist_tracks 函数限制为 100 个轨道,无论参数限制如何。 Spotipy 文档将其描述为:

user_playlist_tracks(user, playlist_id=None, fields=None, limit=100, offset=0, market=None)

Get full details of the tracks of a playlist owned by a user.

Parameters:

  • user
  • the id of the user playlist_id
  • the id of the playlist fields
  • which fields to return limit
  • the maximum number of tracks to return offset
  • the index of the first track to return market
  • an ISO 3166-1 alpha-2 country code.

在使用 Spotify 进行身份验证后,我目前正在使用这样的东西:

username = xxxx
playlist = #fromspotipy
sp_playlist = sp.user_playlist_tracks(username, playlist_id=playlist)
tracks = sp_playlist['items']
print tracks

有没有办法返回超过 100 首轨道?我试过在函数参数中设置 limit=None,但它返回错误。

最佳答案

许多 spotipy 方法返回分页结果,因此您必须滚动浏览它们才能查看超过最大限制的内容。我在收集播放列表的完整轨道列表时最常遇到这种情况,因此创建了一个自定义方法来处理此问题:

def get_playlist_tracks(username,playlist_id):
results = sp.user_playlist_tracks(username,playlist_id)
tracks = results['items']
while results['next']:
results = sp.next(results)
tracks.extend(results['items'])
return tracks

关于python - Spotipy:如何从播放列表中读取超过 100 首轨道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39086287/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com