透過 API 來抓取資料算是一個滿基本的能力, 以下用一個簡單的例子來抓取匯率資料. 抓取API主要用到的 library 為 requests, 我們只用 GET() 的方式來獲取 data.
# Get Daily Exchange rate via API import requests url = "https://tw.rter.info/capi.php" def get_data(url): return requests.get(url).json() data = get_data(url)
抓下的資料如下圖.
格式化後.
{ 'USDFKP': {'Exrate': 0.787478, 'UTC': '2024-01-18 20:59:59'}, 'USDITL': {'Exrate': 1700.272217, 'UTC': '2017-02-24 19:34:31'}, 'USDCNH': {'Exrate': 7.21697, 'UTC': '2024-01-18 20:59:59'}, 'USDLAK': {'Exrate': 20668.37752, 'UTC': '2024-01-18 20:59:59'}, 'USDZMW': {'Exrate': 26.365381, 'UTC': '2024-01-18 20:59:59'}, 'USDAOA': {'Exrate': 831.5, 'UTC': '2024-01-18 20:59:59'}, 'USDTTD': {'Exrate': 6.790277, 'UTC': '2024-01-18 20:59:59'}, 'USDNAD': {'Exrate': 19.055, 'UTC': '2024-01-18 20:59:59'}, 'USDUSD': {'Exrate': 1.0, 'UTC': '2024-01-18 20:59:59'}, 'USDSVC': {'Exrate': 8.750276, 'UTC': '2024-01-18 20:59:59'}, 'USDMXN': {'Exrate': 17.187937, 'UTC': '2024-01-18 20:59:59'}, ... }
我們可以透過迴圈的方式把資料取出來, 並存到另外的 DF 或是 DB.
# 讀取API data api_data = [] for k, v in data.items(): row = [] # # From row.append(k[0:3]) # To row.append(k[3:]) # exchange rate row.append(v['Exrate']) # timestamp row.append(v['UTC']) api_data.append(row)
取出後的資料如下.
透過這個方式, 可以相當方便的提取的很多好用的訊息.
0 留言