通过API完全自动化了对Strava数据的收集,并在每个活动的json文件中巧妙地构建了这些数据。

StravaAnalysis的Python项目详细描述


战略分析

由于Strava免费版本的限制,正确分析数据变得越来越困难。旁边 能够完全“拥有”你的数据是非常有价值的。这套方案使之成为可能。在

这个软件包的目标是获取所有体育数据来做你自己的个人分析。因此,你不必 依靠第三方软件或Strava计算必要的指标。因为你可以有不同的目标 斯特拉瓦可以给你,通过他们的API收集数据可以证明有助于将你的目标转化为数字 并查看活动之间的实际进展情况(这些活动甚至可能没有通过Strava相互关联)。在

初始设置

要开始,您需要安装包并获得stravaapi。下面的步骤你只需要 做一次。然后,API链接到您的帐户,您就可以开始使用这个包了。在

安装软件包

  1. pip install StravaAnalysis
    • 或者,下载此存储库
  2. (在Python中)import StravaAnalysis as se

创建自己的Strava API

  1. 转到https://www.strava.com/settings/api并创建一个API。
    • 输入应用程序名称、类别和授权。授权应该是localhost 这使得它成为一个只适合你的本地应用程序。在
  2. 按提交
  3. 复制并保存以下内容:
    • 客户端ID
    • 客户机密

注意,客户的秘密应该保密。不要共享此代码。关于申请的详细信息 请参阅the official documentation by Strava。在

示例

当第一次运行initilize_client(或data_aggregator)函数时,它将询问您是否愿意 下载最新的Chrome驱动程序。这是获取用于收集数据的身份验证密钥所必需的。为 更多信息,请看here。你也可以提供你自己的 Chrome驱动程序文件,方法是将路径添加到参数chrome_driver_path。在

注意:不会以任何方式存储您的登录凭据。它只是利用这些凭证 能够从斯特拉瓦收集数据。如果您有任何疑问,可以在存储库中找到源代码。在

收集所有数据并将其导出到json文件

import StravaAnalysis as se

USERNAME = <your Strava e-mail here>
PASSWORD = <your Strava password here>
CLIENT_ID = <your API Client ID here>
CLIENT_SECRET = <your API Client Secret here>

# Inititalize Client and Collect all General Data and Streams Data
general_data, streams_data = se.data_aggregator(USERNAME, PASSWORD, CLIENT_ID, CLIENT_SECRET)

# Export all Data to JSON Files
se.data_exporter(general_data, streams_data)

收集常规数据并从特定活动收集

^{pr2}$

导入常规数据并导入特定活动

import StravaAnalysis as se

# Import General Data & Streams Data
se.import_general_data()
se.import_streams_data("554237255.json")

支持

没有一个包是完美的。因此,如果您希望提供帮助,我非常感谢拉请求和/或创建 问题。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用数据库中的值填充p:selectOneMenu   Java/Junit中的异步单元测试一个非常简单但不成功的例子   在Debian上使用Java连接到MySQL   java测试时如何恢复表中的一条记录/行?   java如何将重点放在jbutton上而不是放在另一个jbutton上?   java我可以从HPROF文件中获取JVM标志吗?   java如何使用自定义比较器在2个集合上保留   java让stringTokenizer将一行文本拆分为预定义变量的最佳方法是什么   Kotlin Android/Java字符串日期时间格式,API21   exchange server EWS Java Api自动发现不工作   netbeans是Java新手,似乎无法修复错误;应为类、接口或枚举。274062   我正在尝试将一些scala代码转换为Java8,以创建新的Lambda和并行集合   流中的分配api(java)   用于串行通信的java Python字节数组