
我跑步超过 20 年了~用不同 APP 记录自己跑步的数据已经超过 9 年.今年年初因为 runtastic 下架,决定自己管理自己跑步数据,顺便学下 react,便做了这个项目
目前支持:
后续会支持
项目地址 https://github.com/yihong0618/running_page
截图:


忘了说,点击total和缩放地图是有彩蛋的 total + 缩放: 
大部分能点击的地方都是可以点击的。 可以点击单个跑步的地图:
列表也支持排序 
更新:
新增加了咕咚的支持 。
至此,running_page 支持国内大部分主流运动 app --> keep, 咕咚,悦跑圈,佳明,国外的 --> garmin,Rutastic, strava, nike 支持。欢迎跑步的同学来玩。

1 chaleaoch 2020-10-10 09:43:27 +08:00 厉害了厉害了. |
2 jokerli 2020-10-10 09:45:07 +08:00 哇 这个很不错了 可以做成小程序 |
3 qping 2020-10-10 09:47:49 +08:00 数据从哪来的啊 |
4 zouzou0208 OP @qping 项目介绍里有 |
6 qping 2020-10-10 09:50:07 +08:00 @zouzou0208 国内的 app,像咕咚跑步会支持么 |
7 zouzou0208 OP @qping Runtastic 我算是逆向的接口, nike 也是找 api(抓包啥的), strava 有开发者的 api. 悦跑圈我算是搞定了数据,佳明有 api~ |
8 zouzou0208 OP @qping 咕咚我尝试了,理论可行,但是有一些路要走.可能需要时间. |
9 zouzou0208 OP @qping keep 比较麻烦.加密做的挺多的. |
10 LostPrayers 2020-10-10 09:51:54 +08:00 1 有点好奇这里面这个 gpx 数据, 是有一个通用标准吗? 可以自己写个 app 记录这些信息吗(手机可能没运动手环那些准确,但是可以简单模拟嘛) |
11 qping 2020-10-10 09:53:43 +08:00 @zouzou0208 加油 |
12 zouzou0208 OP @LostPrayers 是的.属于通用的交互格式,你可以 google 查一下.一般都用这个.另外还有两种 tcx 和 fit 佳明用的是 fit 但是可以互相转换. 地图也有特殊的交换格式叫 geojson. 2. 可以的 |
13 akiossdev 2020-10-10 09:57:21 +08:00 羡慕健康的程序员 |
14 z1154505909 2020-10-10 10:28:20 +08:00 跑了快十年了,最开始没有 APP 记录,14 年开始用 APP 记录不过现在那些 APP 账号都忘了,17 年开始用悦跑圈,这周悦跑圈累计 1w 了, 15 年开始骑行,也差不多五万公里了 以前也想过要不要弄个地图,研究了下,觉得太麻烦了,就放弃了.哈哈哈 |
15 zouzou0208 OP @z1154505909 哈哈悦跑圈理论可以搞定。如果搞定了我 at 你。就是研究接口,生成数据麻烦。我 runtastic 就是专门搞了个 repo https://github.com/yihong0618/Runtastic |
16 hjdtl 2020-10-10 11:16:28 +08:00 有点好奇,为啥有这么多的一两公里的记录 |
17 zouzou0208 OP @hjdtl 就是跑了 1-2km 。。。跑步比较看心情。 |
18 Lax 2020-10-10 11:44:52 +08:00 赞啊! 我也曾想过自己管理数据,大部分 app 都没提供导出 gpx 功能,干脆写了个 app 用自己的旧手机作记录,还没做集中展示 |
19 zouzou0208 OP @Lax 准确说是大部分“国内” app 哈哈。 |
20 yanyueio 2020-10-10 11:52:52 +08:00 "我跑步超过 20 年了"---了不起。 |
21 haowen737 2020-10-10 11:58:11 +08:00 |
22 zouzou0208 OP @yanyueio 哈哈,小学开始,那时候不懂就瞎跑。 |
23 zouzou0208 OP @haowen737 谢谢~ |
24 missdeer 2020-10-10 12:02:40 +08:00 被图片吸引了眼球,佩服楼主毅力 |
25 zouzou0208 OP @missdeer 谢谢 |
26 AmosAlbert 2020-10-10 12:11:33 +08:00 我的毕设有着落啦, |
27 guanaco 2020-10-10 12:19:36 +08:00 via iPhone 我就想知道用什么替换 runtastic,10.1 还可以用,但到 6 号就不行了…… |
28 zouzou0208 OP @guanaco 你没赶上。。。runtastic 需要把国家地区改成中国(大陆)以外的地方(因为在大陆下架了),没改的话会封停账号。我比较建议 Nike Run Club 。当然你有预算的话 strava 买高级会员也是可行的。如果不在意数据的话可以用国内的 app, keep 应该做的算是好的(其实我并不推荐)。 |
29 guanaco 2020-10-10 12:29:20 +08:00 via iPhone @zouzou0208 我试试现在修改是否行,主要是闪退,在闪退之前完成修改 |
30 drawstar 2020-10-10 12:31:57 +08:00 这个项目好 |
1 aleung 2020-10-10 12:38:23 +08:00 做得不错,等着支持 garmin 。 另外,可以通过 gpx 导入数据吗?草草扫了一眼 readme 好像没有提到。 预览网站是不是没有彩蛋功能?不知道怎么触发。 |
32 zouzou0208 OP |
33 xrr2016 2020-10-10 12:45:50 +08:00 只用跑步机跑的咋办, 也没用 APP 记录... |
34 zouzou0208 OP @xrr2016 好像不行~ |
35 xrr2016 2020-10-10 12:47:25 +08:00 @zouzou0208 哈哈,项目挺好的,已 star |
36 abinnz 2020-10-10 12:48:53 +08:00 via iPhone 能支持 Keep 吗 |
37 zouzou0208 OP @abinnz 有点难,我当时尝试 keep 数据没搞定。等我支持完其它几个会再尝试下。 |
38 geniusmyn 2020-10-10 12:57:45 +08:00 &nbs; 厉害了厉害了. |
39 abinnz 2020-10-10 13:01:26 +08:00 via iPhone 很棒,我也抓 Keep 接口试下 |
40 sheeta 2020-10-10 13:01:42 +08:00 via Android 楼主,本来我也打算基于 mapbox 做一个类似的,但是 mapbox 本地化实在蛋疼,表面上看着符合国内的地图标准,实际上某些地区还是有问题,自己用还好,做成产品给别人用估计会被喷,所以我就放弃了。 |
41 zouzou0208 OP 感谢反馈 @sheeta mapbox 有部分本地化的,这块有个坑,我当时研究了好久,你可以参考下我代码里设置中文那块~。 |
42 zouzou0208 OP @abinnz 如果搞定欢迎 pr, 太感谢了。 |
43 atonku 2020-10-10 13:07:27 +08:00 你随便写,能让我跑起来算我输 |
44 mxydsg8858 2020-10-10 13:33:34 +08:00 看起来很不错 |
45 mxydsg8858 2020-10-10 13:35:28 +08:00 最后一张图很像跑跑卡丁车里面的一个地图:'森林发卡' |
46 zouzou0208 OP @mxydsg8858 大连的跨海大桥。。。 |
47 RomanCavalry 2020-10-10 13:43:18 +08:00 really cool |
48 EIlenZe 2020-10-10 13:43:21 +08:00 说起来 iPhone 刚开始那会儿 runtastic 就有了 那么多年了 hhh 以前骑车都要开着记录一下 |
49 bitholic 2020-10-10 13:46:09 +08:00 cool |
50 s247769541 2020-10-10 13:46:52 +08:00 很棒~ 偶尔跑步,不像楼主跑这么多 太厉害了 |
51 zouzou0208 OP @EIlenZe 是啊,所以生气,换了 nrc 之后决定自己备份一份数据 |
52 Fooleap 2020-10-10 14:00:52 +08:00 很有意思,收藏之。 一样的喜欢跑步和地图,也折腾过在博客,简单显示跑步地图。 |
53 zouzou0208 OP @Fooleap 哇塞,我很早之前尝试搞咕咚的数据看到过你的博客。非常漂亮。有缘。不过你当时的方法好像不行了~感谢你。 |
54 z1154505909 2020-10-10 14:03:20 +08:00 @zouzou0208 这种研究精神,点赞,我比较懒 |
55 wang2018 2020-10-10 14:14:30 +08:00 非常棒,科技感十足,超酷,支持 |
56 slamDunkLINk 2020-10-10 14:19:14 +08:00 楼主能支持小米运动吗,虽然可能量比较少? |
57 zouzou0208 OP @slamDunkLINk 有可能行。我没尝试,但是小米的接口一般不那么难(希望)。我记在 TODO List 了,谢谢反馈 |
58 ixinshang 2020-10-10 14:21:20 +08:00 最开始用很古老的 app 记录,但是不利于导出。 后面换成了行者,但是这 APP 现在吃相有点难看,现在正在想是否有其他工具。 |
59 aleung 2020-10-10 14:30:24 +08:00 @zouzou0208 #32 滚轮缩小后可以看到跑过的国家、省份等信息,但是没有显示打卡图和 over 10km runs,依然是 activities 列表。 我意思是如果我自己已经有一堆 gpx 文件了,是不是可以放到哪个目录里再执行什么命令做处理?你现在的脚本似乎是将数据下载和数据处理合在一起的。我有些以前爬山记录的 gpx,如果能用你这个应用可视化也是相好的。Garmin Connect 也可以手工下载 gpx 文件。 另外,我也搜索到一个项目可以批量下载 garmin gpx 的,不过我还没空测试中国区能不能用,估计要换个 API endpoint 吧: https://github.com/pe-st/garmin-connect-export |
60 JimmyTinsley 2020-10-10 14:31:08 +08:00 厉害!!! |
61 ZhaoHongXuan 2020-10-10 14:36:56 +08:00 很酷,就是跑步记录都在 keep 上面,这几年也有 6000km 了,同时程序员差距好大,惭愧惭愧 |
62 zouzou0208 OP @aleung 1. 是的,我准备用类似的项目 2. 佳明中国和佳明不是一套接口,有点麻烦,但是能搞定 3. 你可以把 gpx 扔进去,但是得改下命名。改小一点的数字就行(我是利用 unixtime 命名) 4. 你得运行这个命令(在 GitHub Actions 中你能看到, 更改一下你的变量) ``` python scripts/gen_svg.py --from-db --title "${{ env.TITLE }}" --type github --athlete "${{ env.ATHLETE }}" --special-distance 10 --special-distance2 20 --special-color yellow --special-color2 red --output assets/github.svg --use-localtime --min-distance 0.5 ``` 爬山的理论可以的,我之前做了,后来就是完全的跑步数据了(你可以参考我 blog 那块),因为计算心率和速度会有噪声。 非常感谢反馈 PS. 可以在 issues 中提,或者提 pr, 没意外的话我都会解决 |
63 zouzou0208 OP @aleung 而且得先 sync 再生成 svg. |
64 Fooleap 2020-10-10 14:45:00 +08:00 @zouzou0208 #53 嗯嗯,后面那个方法搞不出来咕咚的数据了。我后面主要用 Nike Run Club,算是比较稳定,就是突然砍掉分享图片的功能了。 |
65 zouzou0208 OP @Fooleap 图片分享功能可以切换成 hk 解决,nike 接口和转换成 gpx 我代码中的可以参考~。我也觉得大陆用户目前 nrc 是相对好一些的选择。 |
66 Fooleap 2020-10-10 14:49:50 +08:00 @zouzou0208 #65 这样啊,我还以为都没有了。好的谢谢,我有时间研究下。 |
67 m3s 2020-10-10 15:00:44 +08:00 感谢感谢 有空研究下 我用的是悦跑圈 |
68 Cloutain 2020-10-10 15:02:15 +08:00 坚持跑步一个月了 ,心率下降了很多,加油!! |
69 ershierdu 2020-10-10 15:09:49 +08:00 请教几个问题: 1.看楼主天天跑(还有一天跑两次的记录),膝盖撑得住吗?怎么保护的… 2.看楼上的回复,楼主在东北,冬天怎么搞…我在长三角,10 多度就有点受不了了… |
70 bonfy 2020-10-10 15:09:52 +08:00 @zouzou0208 LZ 跑这么多 怎么保养膝盖的? |
71 zouzou0208 OP |
72 zouzou0208 OP @bonfy 一双好鞋,跑前准备,跑后拉伸。 |
73 mosesyou 2020-10-10 15:16:21 +08:00 看起来好棒啊 |
74 kermitlee 2020-10-10 15:16:39 +08:00 不错的好项目! star 了,想去帮忙,等有空去去看看怎么搞(这么说来 keep 的数据挺安全?哈哈我一直用 keep,4 年了 |
75 mutu 2020-10-10 15:17:37 +08:00 楼主的想法很不错,数据都掌握在不同的跑步 app 中,同步给手机的只是一个汇总数据(至少国内的 keep 是这样的),自己能完全掌握好自己数据的话还是蛮不错的 1. 自动同步 iOS 的健康数据,可能能实现,暂未调研 2. 目前在用 keep 记录(周边小伙伴们都在用),但是对 keep 挺失望的,出 bug (我的组队数据丢失)反馈了好几天,客服总说帮我催。计划也研究下 keep,看能不能想法把里面的数据倒出来 |
76 wupher 2020-10-10 15:18:23 +08:00 COOOOL 已 star |
77 zouzou0208 OP @kermitlee 也可能是我没得到要领~哈哈。欢迎欢迎,入口你可以参考 github actions 里的 yml,是靠这个穿起来的。 |
78 zouzou0208 OP @wupher 谢谢 |
79 AA5DE3F034ACCB9E 2020-10-10 15:25:19 +08:00 nice,希望早日支持悦跑圈,已 star |
80 ghostsf 2020-10-10 15:36:16 +08:00 地图上的轨迹是多个经纬坐标点绘制的吗? |
81 wentian2 2020-10-10 15:40:56 +08:00 厉害了 |
82 ghostsf 2020-10-10 15:42:13 +08:00 mapbox 收费吗? 可以本地私有部署 ? |
83 sh1t0nu 2020-10-10 15:48:19 +08:00 有意思! |
84 urusai 2020-10-10 15:53:27 +08:00 有点意思,star 了 |
85 zouzou0208 OP @ghostsf 是的,用的 geojson 。 |
86 zouzou0208 OP @ghostsf 我用的免费的,目前看起来够用。你也可以用自己的 token |
87 zouzou0208 OP @mutu iOS 的数据不难,但是苹果的得手动导出不能自动化。每天自动 commit, 自动部署 |
88 leeyom 2020-10-10 16:21:13 +08:00 我去,楼主可以啊,我目前跑了两年到三年吧,跑量在 3000 多,平均每年 1000 公里的目标,今年也是惭愧,到目前为止,只跑了 600 多公里,楼主能不能支持 keep 呢,目前所有的数据都在 keep 上 |
89 zouzou0208 OP @leeyom 谢谢 keep 不太确定~后续会看看。 |
90 wh1012023498 2020-10-10 16:30:18 +08:00 明人不说暗话,我只喜欢吃。。 |
91 guanhui07 2020-10-10 16:56:31 +08:00 赞 |
92 watana 2020-10-10 17:20:41 +08:00 楼主能分享下冬天跑步的着装吗?要保护膝盖的话,买双护膝的效果怎么样? |
93 zhangyl 2020-10-10 17:31:50 +08:00 很棒,我开发了针对跑团管理的小程序“跑跑糖”,已对接 Garmin 和郁金香,都有 api 。咕咚也有对外接口但是要收费,还挺贵。国内的 app 数据都不舍得外流,捂得很严实…… |
94 runking 2020-10-10 18:33:06 +08:00 提醒下,楼主可能漏隐私了 |
95 zouzou0208 OP @runking hi~谢谢,能私信我下么?我没记得我传过隐私的东西~。感谢 https://twitter.com/yihong06181 |
96 zouzou0208 OP @watana 我没带过护膝,冬天的话就是很普通的卫衣,开始冷,跑起来就好了。 |
97 outcastveron 2020-10-10 19:45:31 +08:00 nike 已经荧光黄了,支持一下:))) |
98 zouzou0208 OP @outcastveron 太牛了,感觉我还得几年 |
99 ZnBDPang 2020-10-10 20:19:52 +08:00 这也太强了 |