Spotify 播放记录分析

先在 Spotify 的隐私设置页面申请数据,然后把 my_spotify_data.zip 或者里面的 StreamingHistory / Streaming_History_Audio JSON 文件拖到下面。你会看到任意时间段的排行、每月收听分钟、按星期和小时的热力图、最常跳过的歌,还能下载 CSV。文件不会离开你的电脑。

Spotify 播放记录分析

导入你从 Spotify 下载的数据,按收听分钟看真正的歌手、歌曲和专辑排行,还能看你一般什么时候听歌、常跳过哪些歌、每首歌第一次听是哪天。所有年份一起分析,全程在浏览器里完成。

将文件拖放到此处或点击浏览

my_spotify_data.zip,或者里面的 StreamingHistory / Streaming_History_Audio .json 文件。可以一次选多个。

怎么从 Spotify 拿到你的播放记录
  1. 用电脑或手机浏览器登录 spotify.com,打开账户页面,进入"隐私设置"(有的版本叫"账户隐私")。
  2. 在"下载你的数据"下面勾选"扩展播放记录"。从注册账号起的每一次播放都在这份里。"账户数据"只有最近一年。
  3. 点 Spotify 发来的邮件里的链接确认。扩展记录最长要等 30 天,不过很多时候一周左右就到了。
  4. 从第二封邮件里下载 my_spotify_data.zip,整个 zip 直接拖到这里就行,不用解压。
您的数据永远不会离开浏览器。所有处理都在本地进行。

怎么从 Spotify 拿到数据

App 里没有这个入口。用浏览器打开 spotify.com 并登录,进入账户页面,找到"隐私设置"(有时也叫"账户隐私")。往下翻到"下载你的数据",那里有几个选项,你要勾的是"扩展播放记录"。勾上、提交申请,再点邮件里的链接确认。

接下来就是等。Spotify 说扩展播放记录最多要 30 天,不过实际上经常一周甚至更快就到了。准备好以后会收到第二封邮件,里面有 my_spotify_data.zip 的下载链接。把这个 zip 原样拖到上面的框里就行。不用解压,也不用自己挑文件,工具会自动找出播放记录,其他内容(歌单、搜索记录、个人资料)直接跳过。

这个链接大概两周后失效,收到后尽早下载。错过了就得重新申请一遍。

扩展播放记录和账户数据有什么区别

Spotify 提供两种数据,名字看不太出区别。账户数据是快的那种,几天就到,大约只有最近一年,文件名是 StreamingHistory_music_0.json(早期的下载叫 StreamingHistory0.json)。每条播放只有结束时间、歌手、歌名和播放时长,就这些。

扩展播放记录才是真正有料的那份。它一直追溯到你注册账号那天,每条播放的信息也多得多:专辑、有没有跳过、是否随机播放、设备、国家,以及这首歌为什么开始、为什么结束。文件名类似 Streaming_History_Audio_2019-2021_0.json,每年一个或几个。很早以前的下载叫 endsong_0.json。这些这里都能读。

如果你把两种一起拖进来,只会使用扩展版的文件。简版其实就是扩展版的最近一年,两份都算的话,这十二个月会被重复计算。

能看到什么

最上面是总收听时长(小时)、超过 30 秒的播放次数、听过多少首不同的歌和多少位歌手、跳过次数、有多少天听过音乐、播客和有声书的时长,以及文件覆盖的时间范围。播客单独统计,是为了不让一集三小时的节目把音乐数据带偏。

下面是歌手、歌曲和专辑的排行,各显示前 100 名。可以按收听分钟排,也可以按播放次数排,两种结果差别不小。按次数排,单曲循环的短歌会冲上去;按分钟排,工作时一直放着的长专辑会排在前面。每一行还会显示这首歌或这位歌手第一次出现在记录里的日期,你会发现那个感觉听了一辈子的乐队,其实是某年某月才认识的。

再往下是整个记录期间每月的收听分钟、星期和小时的热力图、最常跳过的歌,以及数据里的第一首歌。顶部的时间筛选会让所有内容一起变化。选一个年份,或者自己设起止日期,数字、图表和列表都会跟着更新。想要一份 2019 年专属的年度总结,或者搬家那个夏天的?点两下就有。

四个 CSV 按钮可以导出完整的歌手、歌曲、专辑列表(不只是前 100),以及所选时间段里的每一条播放。

数字是怎么算的

听满 30 秒算一次播放。这和 Spotify 计算播放量和版税用的是同一条线,所以数字看着应该不陌生。不到 30 秒的也会计入总时长,也算"开始播放过",但不算一次播放。

跳过的判断要看是哪种文件。扩展播放记录里有专门的跳过标记,也会记录按"下一首"结束的播放,两者满足一个就算跳过。账户数据里没有这些信息,所以只能把不到 30 秒的播放当作跳过。这个估计大体靠谱,但不完美:因为公交车到了而在第 20 秒停下的歌,也会被算成跳过。

Spotify 文件里的时间是 UTC。工具会换算成你电脑设置的时区,所以热力图上晚上就是晚上。如果你有一段时间住在别的时区,那几年的时间会按时差偏移。

当导出跨年时,Spotify 偶尔会把同一条播放放进两个文件。时间、歌曲、时长完全相同的重复记录会被去掉,并显示去掉了多少条。

大家会在里面发现什么

最有意思的通常是记录里的第一首歌,多半是注册那周听的、早就忘干净的一首。其次是每月图表:新工作从哪个月开始一目了然(早上通勤会在热力图里形成一块),孩子出生的时间也看得出来(凌晨三点那一列突然亮了)。

跳过表也挺实用。如果歌单里有首歌 45 次里跳过了 40 次,大概可以删了。家里要是为"到底是谁一直在放那张专辑"争起来,每个人都去申请自己的数据,比比分钟数就知道了。

隐私,以及为什么不用登录

很多 Spotify 统计网站会让你连接账号。这样它们能访问你的资料,但拿到的也只是最近的常听内容,因为 Spotify API 只给这么多。你自己下载的数据要丰富得多,而且谁都不需要登录任何东西。

这里的一切都是浏览器标签页里的 JavaScript 在跑。zip 在你电脑上打开,统计在你电脑上完成,不会发送到本站或任何别的地方。播放记录里有 IP 地址和你收听时所在的国家,所以这一点比听起来更重要。想验证的话,打开页面后断开 Wi-Fi 再运行,效果一样。

结果不对劲的时候

如果提示没找到播放记录,先看看文件名。Userdata.json、Playlist1.json 和 SearchQueries.json 虽然在同一个 zip 里,但都不是播放记录。如果数字看着偏少,你拿到的多半是只有一年的账户数据,去申请扩展播放记录就全了。

记录再大也没关系。十年天天听歌也就几十万条播放,普通笔记本几秒钟就能读完。手机也能用,只是遇到大 zip 会慢一些。

关于 Spotify 播放记录分析的常见问题