📌 项目地址hasaneyldrm/exercises-dataset | ⭐ 6,028 颗星 | 🔧 HTML | 📜 未标注

数据集解决了什么问题

构建一个健身 App 时,最基础也最麻烦的工作往往不是写 API,而是整理一套结构化的练习数据:名字、分类、目标肌肉、所需器械、动作说明、缩略图、动画。这些数据散落在各个网站、API、Kaggle 数据集里,格式不一,还常常只有英文。

exercises-dataset 把 1,324 个练习整合成一个 JSON 文件,并为每个练习提供了 6 种语言的步骤说明(英语、西班牙语、意大利语、土耳其语、俄语、中文),还附带一个交互式浏览器和一个开发者设置向导,方便你快速预览数据和搭建后端骨架。

数据长什么样

数据全部集中在 data/exercises.json,每条记录的结构如下(来自 README 的 Schema 描述):

{
  "name": "Barbell Bench Press",
  "category": "Strength",
  "bodyPart": "Chest",
  "target": "Pectoralis Major",
  "equipment": "Barbell",
  "media_id": "2gPfomN",
  "instructions": {
    "en": "Lie on a flat bench...",
    "es": "Acuéstate en un banco plano...",
    "it": "Sdraiati su una panca piana...",
    "tr": "Düz bir bankta yatın...",
    "ru": "Лягте на скамью...",
    "zh": "平躺在平坦的长凳上..."
  }
}

关键字段:
category:Strength / Cardio / Stretching 等
bodyPart:Chest, Back, Legs 等
target:具体目标肌肉(如 Pectoralis Major)
equipment:器械(Barbell, Dumbbell, Body Weight 等)
media_id:用于拼接媒体文件的 ID(见下文警告)
instructions:各语言的动作步骤文本

数据覆盖 26 个类别、10 个身体部位、26 个目标肌肉组、29 种器械,具体统计可查看仓库的 Statistics 部分。

怎么用:读取 JSON + 交互浏览器 + 开发向导

1. 直接读 JSON

克隆仓库后,用任意编程语言解析 data/exercises.json 即可。例如 Python:

import json
with open('data/exercises.json') as f:
    exercises = json.load(f)
print(f"共 {len(exercises)} 个练习")

2. 交互式浏览器

仓库根目录的 index.html 是一个纯静态页面,用浏览器打开即可按类别、身体部位、器械筛选练习,查看翻译和媒体预览。适合快速浏览数据集质量。

3. 开发者设置向导

setup.html 提供了“Wizard”界面,引导你生成对应的数据库模式、API 代码甚至 LLM 提示词。你可以在浏览器中交互式选择所需字段,然后复制粘贴生成的代码。这是该仓库区别于普通数据集的独特功能。

媒体文件怎么办(重要提醒)

仓库本身不包含任何图片或 GIF。 每条记录只保留了一个 media_id(例如 2gPfomN),官方 CDN 地址为:

static.exercisedb.dev/media/{media_id}.gif

但这些媒体文件的版权存在争议,原作者没有获得再分发授权。如果你有合法使用权(例如购买了 ExerciseDB 的 API 计划),可以直接通过上述 URL 引用;否则不建议直接使用。仓库维护者已声明“If you are the rights holder of this media, please open an issue”。

对比其他数据集

维度 exercises-dataset ExerciseDB v1 (官方 API) 普通 Kaggle 数据集
练习数量 1,324 1,300+ 几十到几百
语言支持 6 种语言步骤说明 仅英文 通常仅英文
媒体文件 仅提供 ID,不包含文件 提供 API 可获取媒体 可能包含但版权不明
开发向导 有 (setup.html)
许可证 见下文 需付费订阅 常为 CC 或自定义

该数据集的最大优势是多语言翻译开发向导,适合需要快速原型验证的多语言健身应用。

许可证和注意事项

  • 数据部分:原始数据来源于 ExerciseDB v1(通过 Kaggle re-host),使用了开放许可(README 中提到“Open Source”)。翻译和多语言部分是仓库维护者自己添加的,默认采用与原始数据相同的许可。具体请查看仓库的 LICENSE 文件(如有)。
  • 媒体文件不在本库范围内,使用前请自行确认媒体版权。
  • 使用场景:适合学术研究、教育项目、非商业原型验证。如果用于商业产品,建议直接订阅 ExerciseDB 官方 API 或自行拍摄/购买媒体素材。

如果你正在开发健身类 App、动作识别模型训练,或者需要一份结构完整、多语言的练习数据来填充 MVP,这个仓库是一个不错的起点。

这篇文章对你有帮助吗?

发表回复