核心用法
Last.fm Skill 提供对个人及全球音乐数据的程序化访问,通过官方 REST API 获取 17 年以上的 scrobble(听歌记录)数据。核心功能分为四大类:
个人数据统计:获取用户累计播放次数(scrobbles)、独特艺术家/曲目/专辑数量,支持按 7 天/1月/3月/6月/12月/全部时间维度查询 Top 艺术家、专辑、曲目及"喜欢"列表。
实时与历史:user.getrecenttracks 可识别当前播放状态(@attr.nowplaying=true),返回时间戳、专辑封面及曲目元数据;周榜数据支持按周粒度的回溯分析。
发现与推荐:基于协同过滤的相似艺术家/曲目查询(artist.getsimilar/track.getsimilar),配合标签系统(tag)实现按流派(如 psychedelic、brazilian)的专辑/艺人探索。
全局榜单:chart.gettopartists/tracks 获取平台级流行趋势,无需用户身份即可调用。
显著优点
- 数据深度:支持 20 年历史数据挖掘,对个人音乐品味演化提供量化视角
- 零权限设计:只读 API,无需 OAuth 授权,仅依赖静态 API Key
- 发现能力:Last.fm 的相似度算法基于数千万用户行为数据,推荐质量高于纯元数据匹配
- 格式友好:统一 JSON 输出,配合 jq 可快速提取结构化信息
局限性与风险
- 数据完整性依赖第三方:scrobble 记录需用户长期开启追踪(如 Spotify 连接、本地 scrobbler),数据源存在缺口
- API 可靠性:Last.fm 近年维护频次下降,偶发服务不稳定
- 无写入能力:无法修改"喜欢"状态或提交 scrobbles,功能仅限查询
- 图片链接时效:返回的 CDN 图片 URL 可能失效,需本地缓存策略
适合人群
数字音乐档案管理者、数据可视化爱好者、需要基于真实收听历史生成年度报告的音乐极客,以及构建个性化推荐工作流的开发者。
常规风险
API Key 以明文形式在 URL 参数传递,存在日志泄露风险;建议仅使用只读 Key,避免共享账户的完整权限 Key。