廣告 🚀 歐易 OKX:安全、快速的數位資產交易平臺,立即註冊開啟交易旅程!

python獲取幣安數據

發佈時間:2026-05-31 22:54:22

在當今的數字資產交易市場中,Binance(幣安)以其安全性和全球覆蓋面廣而聞名。作為一位Python愛好者,你或許有興趣獲取來自幣安的交易對數據、市場深度、最新成交價格以及其他相關信息。這篇文章將詳細介紹如何使用Binance API和Python編程語言來訪問這些數據。

首先,你需要向幣安申請API密鑰。在訪問幣安的API頁面(https://www.binance.com/en/data/api)後,你需要註冊一個賬戶並填寫相關信息以獲取API密鑰。這是一個4組字符的公開密鑰和16組字符的私人密鑰組合,用於認證你的訪問請求。

一旦你獲得了API密鑰,你可以開始使用Python來訪問數據了。以下是基本步驟:

第一步:導入必要的庫

在你的Python腳本中,首先需要導入requests和json庫(如果尚未安裝,可以使用pip進行安裝):

```python

import requests

import json

```

第二步:設置API請求

在訪問API之前,你需要指定API的路由。對於獲取數據,最常用的路由可能是 `/api/v3/`。接下來,你可以使用HTTP請求來發送你的數據查詢。例如,如果你想要獲取比特幣(BTC)對美國美元(USDT)的最新成交價格,你可以這樣做:

```python

url = 'https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT'

headers = {'Content-Type': 'application/json'}

response = requests.get(url, headers=headers)

data = json.loads(response.text)

print("最新成交價格為:" + data['price'])

```

第三步:加載你的API密鑰

在請求中包含你的API密鑰,它應該被加載到HTTP頭部作為`X-MBX-APIKEY`標籤。這是一個安全的方法來保護你的密鑰不被未經授權的人員獲得:

```python

api_key = 'your-api-public-key'

secret_key = 'your-api-private-key'

headers['X-MBX-APIKEY'] = api_key

signature = requests.auth.Signature(headers=headers, method='GET')

response = signature.request(url, headers=headers)

```

第四步:處理數據

當你獲取數據後,你需要將其從JSON格式的字符串轉換為Python字典或列表結構。這個過程可以用`json`庫輕鬆完成:

```python

data = json.loads(response.text)

使用data進行操作,比如遍歷交易對信息

for pair in data['symbols']:

print('交易對名稱:', pair['name'])

print('最新成交價格:', pair['price'])

```

第五步:設置頻道

對於實時數據,你還可以使用WebSocket連接到頻道。這將允許多個請求保持在線狀態,以便在數據更新時立即接收它們。Binance API提供了這種功能,但請注意,你需要額外的編程知識來處理事件驅動的代碼:

```python

import websocket, json

def on_message(ws, message):

data = json.loads(message)

print('Received message: ' + str(data))

def on_error(ws, error):

print('Encountered an error: ' + str(error))

def on_close(ws):

print('Connection closed')

def on_open(ws):

payload = {'event': 'myEvent', 'data': {}}

message = json.dumps(payload)

ws.send(message)

print('Websocket connected')

url = "wss://fstream.binance.com/stream?streams=btcusdt@ticker"

websocket.enable_control_frames = False

ws = websocket.WebSocketApp(url, on_open = on_open, on_message = on_message, on_error = on_error, on_close = on_close)

ws.run_forever()

```

通過這篇文章,你應該已經具備了使用Python獲取幣安數據的基本知識。請記住,在使用任何API時都要謹慎保護你的密鑰,並且遵循開發者的責任規範。在交易市場中進行實時分析或策略執行時,這些工具將極大地增強你的能力。

推薦閱讀

🔥 推薦平台