【问题标题】:Python - Iterate thourhg all available pages of a API connectionPython - 遍历 API 连接的所有可用页面
【发布时间】:2022-07-07 22:41:50
【问题描述】:

我目前正在尝试开发自己的“自动化”交易日志。我从 bybit api (https://bybit-exchange.github.io/docs/inverse/#t-introduction) 获取数据我使用 pybit (https://github.com/verata-veritatis/pybit) lib 连接到 bybit API。 我正在尝试撤消已平仓盈亏 (https://bybit-exchange.github.io/docs/inverse/#t-closedprofitandloss)

我能够通过一些 python 代码连接到 bybit API。

现在让我描述一下我遇到的问题: API 请求限制为 每页 50 个结果

如何遍历所有页面并将其保存在一个 JSON 文件中?

这是我目前使用的代码:

import pybit as pybit

from pybit import inverse_perpetual
session_unauth = inverse_perpetual.HTTP(
    endpoint="https://api-testnet.bybit.com"
)

session_auth = inverse_perpetual.HTTP(
    endpoint="https://api.bybit.com",
    api_key="",
    api_secret=""

)
data = session_auth.closed_profit_and_loss(symbol="BTCUSD", limit=50)

import json
with open('journal.json', 'w', encoding='utf-8') as f:
    json.dump(data, f, ensure_ascii=False, indent=4)

import pandas as pd
df  = pd.read_json(r"C:\Users\Work\PycharmProjects\pythonProject\journal.json")
df.to_csv (r"C:\Users\Work\PycharmProjects\pythonProject\journal.csv", index = None)

我将 api_key 和 api_secret 留空,因为这是机密信息。

【问题讨论】:

    标签: python api bybit


    【解决方案1】:

    在处理分页时,可以使用一个参数来告诉服务器或 API 在您的情况下为您提供接下来的 N 项。

    通过访问 API 文档的 link you provided,可以发现有一个名为 page 的参数,它是一个整数,您可以随请求一起发送。这再次限制为 50 页,之后您可以尝试使用start_timeend_time,我怀疑它们可以提供对更旧记录的访问。

    编码愉快。

    【讨论】:

    • 感谢您的回复!我注意到了。我正在尝试将所有页面保存在一个 Json 文件中。用于分析目的。我需要遍历所有页面并将其保存在一个文件中
    猜你喜欢
    • 2021-05-04
    • 1970-01-01
    • 2010-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多