本教程将引导你如何使用 requests
库接入 infoway 的期货实时行情接口,以获取最新的K线数据。
1. 了解接口参数
首先,你需要了解接口的三个核心参数:
klineType
:K线周期类型。例如,1
代表1分钟K线,8
代表日K线。klineNum
:你需要的K线数量,例如10
代表最新的10根K线。codes
:资产代码,例如示例中的 XAGUSD 代表白银美元。
2. 构建请求URL
使用上述参数构建你的请求URL。格式如下:
https://data.infoway.io/common/batch_kline/{klineType}/{klineNum}/{codes}
例如,如果你想获取白银美元(XAGUSD)最新的10根1分钟K线,你的URL将是:
https://data.infoway.io/common/batch_kline/1/10/XAGUSD
3. 编写Python代码
我们使用 Python 的 requests
库发送网络请求。请确保你已安装此库 (pip install requests
)。
下面是完整的代码示例,你可以直接复制并运行:
python
import requests
import json
# 申请API KEY: www.infoway.io
your_api_key = "YOUR_API_KEY"
# 设置你需要的请求参数,这里以获取白银美元最新的10根1分钟K线为例
kline_type = 1
kline_num = 10
codes = "XAGUSD"
# 构建完整的请求 URL
url = f"https://data.infoway.io/common/batch_kline/{kline_type}/{kline_num}/{codes}"
# 关键步骤:在请求头中加入 API Key
headers = {
"accept": "application/json",
"apiKey": your_api_key
}
try:
response = requests.get(url, headers=headers)
response.raise_for_status() # 检查请求是否成功
# 解析并打印 JSON 数据
data = response.json()
print(json.dumps(data, indent=4, ensure_ascii=False))
# 进一步处理数据
if data and codes in data:
first_kline = data[codes][0]
print(f"\n第一根K线数据:{first_kline}")
except requests.exceptions.RequestException as e:
print(f"请求发生错误:{e}")
4. 运行结果
当你运行上述代码时,你会得到一个 JSON 格式的响应,其中包含了你请求的K线数据。数据以字典形式返回,键为资产代码(如 XAGUSD),值为一个包含多根K线数据的列表。
提示:
- 错误处理 :示例代码中的
response.raise_for_status()
会在HTTP请求失败时抛出异常,这是一种良好的实践。 - 数据解析 :使用
response.json()
可以方便地将返回的 JSON 字符串解析为 Python 字典或列表,便于后续处理。
希望这篇教程能帮助你成功接入期货实时行情接口。