顽鹿运动批量上传fit运动文件

使用python批量上传

代码展示:

# -*- coding: utf-8 -*-
import os
import glob
import requests
import time
from rich.progress import Progress

url = 'http://u.onelap.cn/upload/fit'

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.1 Safari/537.36',
    'Cookie': '这里填写Cookie'
}

# 指定目录路径
directory = r'Fit文件夹完整路径'

# 获取目录下所有的 .fit 文件路径
fit_files = glob.glob(os.path.join(directory, '*.fit'))

# 创建进度条
with Progress() as progress:
    task = progress.add_task("[cyan]上传中...", total=len(fit_files))

    for fit_file in fit_files:
        with open(fit_file, 'rb') as file:
            files = {
                'jilu': (os.path.basename(fit_file), file),
                'filename': (None, os.path.basename(fit_file)),
                '_token': (None, '这里填写tokin')
            }

            response = requests.post(url, headers=headers, files=files)

            # 更新进度条
            progress.update(task, advance=1, description=f"上传中 {os.path.basename(fit_file)}")

            # 输出上传结果
            print(f"已上传 {os.path.basename(fit_file)}: {response.text}")

            # 等待 1 秒再继续下一个文件的上传
            time.sleep(1)

# 完成上传后显示完成信息
print("上传完成!")

# 循环处理用户的选择
while True:
    choice = input("是否要重试上传失败的文件 (Y),删除已成功上传的文件 (S),或取消操作 (N)? ").strip().upper()

    if choice == 'Y':
        # 重试上传失败的文件
        failed_files = [fit_file for fit_file in fit_files if not os.path.exists(fit_file)]  # 检查文件是否上传失败
        print(f"重新上传 {len(failed_files)} 个文件...")

        for fit_file in failed_files:
            with open(fit_file, 'rb') as file:
                files = {
                    'jilu': (os.path.basename(fit_file), file),
                    'filename': (None, os.path.basename(fit_file)),
                    '_token': (None, 'KUnLFMGOWZluGnfZ3JAd9i7ifjRqjzAyIG32A8PN')
                }

                response = requests.post(url, headers=headers, files=files)

                # 输出上传结果
                print(f"已上传 {os.path.basename(fit_file)}: {response.text}")

                # 等待 1 秒再继续下一个文件的上传
                time.sleep(1)

    elif choice == 'S':
        # 删除已成功上传的文件
        successful_files = [fit_file for fit_file in fit_files if os.path.exists(fit_file)]  # 检查文件是否已上传成功

        for fit_file in successful_files:
            os.remove(fit_file)
            print(f"已删除 {os.path.basename(fit_file)}")

        print("已成功上传的文件已删除.")

    elif choice == 'N':
        # 取消操作
        print("操作已取消.")
        break  # 退出循环

    else:
        # 处理无效输入
        print("无效的选择,请输入 Y、S 或 N.")

需要填写Cookie和token和文件路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值