yihong0618 / gitblog

People Die, but Long Live GitHub
https://yihong0618.github.io/gitblog/
MIT License
1.43k stars 135 forks source link

如何获取悦跑圈数据 #197

Open yihong0618 opened 3 years ago

yihong0618 commented 3 years ago

这几天想给朋友分享如何把跑步数据同步到 NRC 发现自己当年一系列的操作几乎忘光了,他没有成功,有些遗憾。想着,如果当时写个博客就好了,以后跟人分享还方便,也能让更多的人转移成功。

于是,这些天尝试如何获取悦跑圈数据的过程,记录一下。

关于获取数据代码在这里

lmmsoft commented 1 year ago

nb

yusong17 commented 1 year ago

感谢分享!成功导出了七年前的数据,但是200多条跑步记录只导出了80多条,有办法解决吗?谢谢!

yusong17 commented 1 year ago

我看可以显示200多条记录,但是很多没有成功, 成功的是 downloading joyrun_id xxxxxxx gpx 不成功的就是 invalid syntax (, line 1)

然后再次运行python,就显示 No tracks found.。 有什么办法吗。谢谢!

yihong0618 commented 1 year ago

不确定

  1. 可能你数据不全是跑步,目前只能导出跑步
  2. 没有路径信息是无法导出 gpx 的
  3. 你再运行 no track 是因为导完了,删掉 scripts/data.db 重新跑就行
yusong17 commented 1 year ago

谢谢及时回复! 应该都是跑步数据,我都是同样的方式跑的。。 我刚刚删掉data.db重新导出,似乎还是一样的问题。这样隔几条失败几个成功几个 invalid syntax (, line 1) invalid syntax (, line 1) downloading joyrun_id 49720290 gpx downloading joyrun_id 159686114 gpx invalid syntax (, line 1) invalid syntax (, line 1) invalid syntax (, line 1)

yusong17 commented 1 year ago

因为现在还没办法全导入到strava,我还不完全确定。但我看了一下我的跑步数据,我怀疑导出的85条数据都是在北京时区(北京+新加坡)跑的(数值上恰好对的上),剩下的100多条是美国的时区下跑的,不知道会不会是这个原因,导致他导出的时候混乱了。。不知道您有没有这方方面的经验

yihong0618 commented 1 year ago

invalid

你可以把这些 print 出来试试

yihong0618 commented 1 year ago

从 拿 single 的时候 print 看看是不是 json 不一样

yusong17 commented 1 year ago

从 拿 single 的时候 print 看看是不是 json 不一样

没太明白您的意思哈哈

yusong17 commented 1 year ago

从 拿 single 的时候 print 看看是不是 json 不一样

抱歉一直打扰 确实不太懂 又确实也很想把数据弄出来哈哈 谢谢了!

yihong0618 commented 1 year ago

@yusong17

def get_single_run_record(self, fid):
    payload = {
        "fid": fid,
        "wgs": 1,
    }
    r = self.session.post(
        f"{self.base_url}/Run/GetInfo.aspx",
        data=payload,
        auth=self.auth.reload(payload),
    )
    print(r.text)
    print(r.json())
    data = r.json()
    return data

搜索这个函数,加这两个 print 然后截图

yusong17 commented 1 year ago

嗯嗯 给您发邮件了,谢谢!

chenayuan commented 3 months ago

我running 导出悦跑圈的时候,用悦动圈app输入手机好,发送验证码,然后运行程序,然后运行 提示下面错误 'ret': '41006' 'msg': 'Verification code error', 请问是应该需要怎么设置吗? 谢谢!

yihong0618 commented 3 months ago

我running 导出悦跑圈的时候,用悦动圈app输入手机好,发送验证码,然后运行程序,然后运行 提示下面错误 'ret':

'41006'

'msg':

'Verification code error', 请问是应该需要怎么设置吗? 谢谢!

验证码不对,你参照 readme 重新试一次

chenayuan commented 3 months ago

python3 run_page/joyrun_sync.py 131xxxxxxxx 400565 我是这样执行的 ,然后 返回下面的错误 joyrun_sync.py, line 150, in login_by_phone raise Exception(f'{login_data["ret"]}: {login_data["msg"]}') Exception: 41006: Verification code error