1. 项目概述
作为一名长期使用Spotify的音乐爱好者,我发现自己经常好奇:我到底听了多少首歌?最常听的歌手是谁?播放列表有什么规律?于是决定用Python来分析自己的Spotify听歌数据。这个项目不仅能满足个人好奇心,还能帮助更好地理解自己的音乐品味。
Spotify提供了完善的Web API接口,通过Python可以轻松获取各种听歌数据。我们将使用Spotipy这个轻量级Python库,它封装了Spotify Web API的所有功能。整个过程不需要复杂的编程基础,只要会基本的Python语法就能上手。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与API配置
2.1 安装必要的Python库
首先需要安装spotipy库,它是连接Spotify API的关键:
bash复制pip install spotipy
此外,我们还会用到pandas进行数据处理,matplotlib和seaborn进行可视化:
bash复制pip install pandas matplotlib seaborn
2.2 获取Spotify开发者凭证
- 登录Spotify开发者网站
- 创建一个新应用
- 记下Client ID和Client Secret
- 设置回调URL为
http://localhost:8888/callback
2.3 配置认证信息
创建一个config.py文件存储凭证:
python复制SPOTIPY_CLIENT_ID = '你的Client ID'
SPOTIPY_CLIENT_SECRET = '你的Client Secret'
SPOTIPY_REDIRECT_URI = 'http://localhost:8888/callback'
3. 连接Spotify API
3.1 初始化Spotipy客户端
python复制import spotipy
from spotipy.oauth2 import SpotifyOAuth
from config import SPOTIPY_CLIENT_ID, SPOTIPY_CLIENT_SECRET, SPOTIPY_REDIRECT_URI
# 设置权限范围
scope = "user-library-read user-top-read user-read-recently-played"
# 创建认证对象
sp = spotipy.Spotify(auth_manager=SpotifyOAuth(
client_id=SPOTIPY_CLIENT_ID,
client_secret=SPOTIPY_CLIENT_SECRET,
redirect_uri=SPOTIPY_REDIRECT_URI,
scope=scope))
3.2 测试API连接
python复制# 获取当前用户信息
user = sp.current_user()
print(f"成功连接Spotify API,欢迎 {user['display_name']}")
4. 获取听歌数据
4.1 获取最近播放的歌曲
p复制
