這次是要教大家如何從API取得比特幣的價格

首先我們還記得如何取得JSON Data

 

{"result":{"86400":[[1514764800,1519999,1713306,1502242,1675100,20188.11,32083065000],[1514851200,1673600,1684270,1568150,1635320,10534.478,17226760000],[1514937600,1637228,1760110,1600000,1725726,10670.864,17824102000],....

以上面的例子來說可以看出來這串數字是

{"result":{"86400":[ [xx, xx, xx, ...], [xx, xx, xx, ....] ] } }

這個樣子

因此我們大概可以知道他是這樣的構造

data["result"]["86400"][XXX][XXX]

假設我們要取得第一筆資料的話就必須

data["result"]["86400"][0][0]

這樣

輸入0是因為這代表從左邊數來第0筆資料

 

 

接著我們來看看要如何找到特定時間的特定資料

首先,假設我們要找2018年1月16日的資料

這時候的時間在UNIX上是「1516147200」

而我們要怎麼找資料呢?

這裡我們需要用到的新文法是for文

從頭到尾搜尋所有的資料然後如果時間符合的話就把它print出來

import requests
response = requests.get("https://api.cryptowat.ch/markets/bitflyer/btcjpy/ohlc?periods=86400&after=1514764800")
data = response.json()

for item in data["result"]["86400"]:
	if item[0] == 1516147200:
		print(item[3])

 

這次的代碼基本上跟上一篇文章一模一樣只是從第五行開始有點不同

第五行開始的意思是將data["result"]["86400"]之中的每一筆資料一一叫出來

這裡的item就像是這樣

data[“result”][“86400”][0]
data[“result”][“86400”][1]
data[“result”][“86400”][2]
data[“result”][“86400”][3]
data[“result”][“86400”][4]
data[“result”][“86400”][5]
data[“result”][“86400”][6]

而if的意思就跟英文的if一樣

當item[0]也就是時間等於1516147200的時候執行print

這次想知道的是當天的最低價格,結果就像下面這個樣子

スクリーンショット 2019-06-16 21.18.50.png

如果有不知道的地方請在下面留言詢問

arrow
arrow

    mana 發表在 痞客邦 留言(0) 人氣()