如何查找全球 Spotify 上有史以来播放量最大的歌曲的数据?

问题描述 投票:0回答:1

我正在使用 Spotify 数据进行投影,我需要 Spotify 上有史以来播放次数最多的歌曲的列表。 (不是我自己的收听历史记录,而是全球流媒体计数)此信息应该在那里,因为 Spotify 上的歌曲公开显示其流媒体计数,但除了前 100 或 200 首之外,没有实际流媒体最多的歌曲列表。我想要能够获得我想要的尽可能多的歌曲,或者至少 1000 或 2000 首。我使用 python 来实现这一点,但如果需要的话可以使用其他东西。我找到了 SpotiPy,但据我所知,它似乎没有这种功能。

我在网上寻找答案但一无所获。我已经给 Spotify 发了电子邮件,甚至收到了回复,但他们的回复根本没有帮助。他们要么不理解我的问题,要么将我重定向到他们的研究和开发人员网站,但这些网站没有看到我想要的内容。

spotify spotipy
1个回答
0
投票

Spotipy 和 Spotify API 不提供此功能直接,但您可以从名为“Spotifys 最常播放的所有时间 [每周更新] | 大多数流媒体 | 最热门播放”的公共播放列表中检索所有歌曲,该播放列表的 playlist_id 为

 2YRe7HRKNRvXdJBp9nXFza
。使用此 ID 以及 Spotipy 的以下代码:

import spotipy
from spotipy.oauth2 import SpotifyClientCredentials

client_credentials_manager = SpotifyClientCredentials(client_id='YOUR_CLIENT_ID', client_secret='YOUR_SECRET')
sp = spotipy.Spotify(client_credentials_manager=client_credentials_manager)

# playlist ID of the top streamed songs
playlist_id = '2YRe7HRKNRvXdJBp9nXFza' # This is just an example; use the actual playlist ID

# get tracks
results = sp.playlist_tracks(playlist_id)

# get track name and artist
tracks = results['items']
for track in tracks:
    track_name = track['track']['name']
    artist_name = track['track']['artists'][0]['name']
    print(f"{track_name} by {artist_name}")

这将返回前 50 首流媒体歌曲:

可以与顶级流式维基交叉引用,以表明该列表是正确的。由于播放列表每周更新(可能是手动更新),因此每周可能会略有不同,但通常应该是正确的。

© www.soinside.com 2019 - 2024. All rights reserved.