我目前正在尝试开发我自己的"自动";贸易杂志。我从bybit api (https://bybit-exchange.github.io/docs/inverse/#t-introduction)获得数据,我使用pybit (https://github.com/verata-veritatis/pybit)库连接到bybit api。我正试图拉封闭的p&l位置(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:UsersWorkPycharmProjectspythonProjectjournal.json")
df.to_csv (r"C:UsersWorkPycharmProjectspythonProjectjournal.csv", index = None)
我留下api_key和api_secret为空,因为这是机密信息。
在处理分页时,可以使用一个参数告诉服务器或API为您提供下一个N项。
通过访问您提供给API文档的链接,可以发现有一个名为page
的参数,这是一个可以与请求一起发送的整数。这也是限制在50页,之后你可以尝试玩start_time
或end_time
,我怀疑可以提供访问更老的记录。
幸福的编码。