statsfm

🎵 你的音乐数据,一手掌握

开源 CLI 工具,通过 stats.fm API 查询个人音乐播放数据与全球榜单,支持播放统计、月度分析、艺人/专辑深度追踪,需免费账号。

收藏
3.9k
安装
1.2k
版本
2.4.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

statsfm 是一款基于 Python 的命令行工具,对接 stats.fm API(Spotify/Apple Music 第三方数据分析平台),提供个人音乐消费数据的全维度查询。用户通过 --user USERNAME 指定账号后,可执行:

  • 个人榜单:top-tracks/artists/albums/genres,支持 today/weeks/months/lifetime 预定义时间范围及自定义起止日期
  • 实时活动:now-playing、recent 播放历史
  • 深度统计:artist/track/album-stats 带自动月度细分(plays + 时长)
  • 内容检索:search 获取 ID,album/artist-albums 查看曲目列表与 discography
  • 全球榜单:charts-top-tracks/artists/albums

脚本纯标准库实现,Python 3.6+ 无需 pip 安装,输出含排名、播放次数、收听时长、流派标签及 [E] 显式内容标记。

显著优点

1. 零依赖轻量:单文件脚本,无外部包,开箱即用
2. 时间粒度灵活:支持从单日到跨年自定义区间,自动生成本月/年度对比

3. 数据叙事导向:月度拆解能识别「发现月」「沉迷期」「突然冷却」等 listening pattern

4. Plus/Free 兼容:免费用户可获取排名与月度拆解,Plus 用户解锁具体播放次数与时长

5. ID 工作流:search → ID → 任意深度查询,支持链式探索

潜在缺点与局限

  • 平台局限:Spotify 支持完善,Apple Music 标注为「未测试」,可能存在数据缺口
  • 隐私门槛:仅支持公开档案查询,私密用户无法获取数据
  • 功能分层:核心指标(播放次数、时长)需 stats.fm Plus 订阅(约 €3.99/年)
  • 速率限制:文档建议避免短时间内 >10 次请求,深度挖掘需节制
  • 无导出格式:仅 CLI 文本输出,无 JSON/CSV 原生导出(需手动重定向)

适合人群

  • 希望量化自我音乐消费习惯的数据爱好者
  • 需要跨年/跨月收听趋势分析的重度 Spotify 用户
  • 想追踪特定艺人「入坑时间线」的音乐粉丝
  • 对比个人口味与全球榜单的流行趋势观察者

常规风险

| 风险类型 | 说明 |
|---------|------|
| 隐私暴露 | 工具可查询任何公开档案,需确保 `--user` 参数不泄露他人敏感信息 |
| 第三方依赖 | stats.fm 为第三方服务,API 稳定性与数据保留政策不受 Spotify 官方保障 |
| 订阅诱导 | 多处功能标注 `[Plus required]`,免费用户可能产生付费冲动 |
| 数据幻觉 | 月度拆解基于 API 聚合,可能存在时区或跨设备同步延迟导致的统计误差 |
| 自动化滥用 | 脚本无内置速率限制,频繁请求可能导致 IP 临时封禁 |

statsfm 内容

references文件夹
scripts文件夹
手动下载zip · 16.2 kB
api.mdtext/markdown
请选择文件