개인적으로 Poloniex 는 예술이라 생각합니다.
Poloniex 하단의 Support Resource 로 들어가서 API Documentation 에 가면
https://www.poloniex.com/support/api/ 여기로 오게 되는데,
API 를 통한 Poloniex 가격정보를 얻어 올 수 있으며, 거래도 할 수 있습니다.
Push API 와 Public API 그리고 Trading API 를 제공합니다.
가장 간단한 Public API Methods 중에 returnTicker 를 예를 들어보겠습니다.
{"BTC_LTC":{"last":"0.0251","lowestAsk":"0.02589999","highestBid":"0.0251","percentChange":"0.02390438",
"baseVolume":"6.16485315","quoteVolume":"245.82513926"},"BTC_NXT":{"last":"0.00005730","lowestAsk":"0.00005710",
"highestBid":"0.00004903","percentChange":"0.16701570","baseVolume":"0.45347489","quoteVolume":"9094"}, ... }
Call: https://poloniex.com/public?command=returnTicker
브라우저에서 https://poloniex.com/public?command=returnTicker 를 입력하면
바로 위와 같은 정보가 보일 겁니다.
위의 포맷을 보면,
{
"BTC_LTC" : {
"last":"0.0251",
"lowestAsk":"0.02589999",
"highestBid":"0.0251",
"percentChange":"0.02390438",
"baseVolume":"6.16485315",
"quoteVolume":"245.82513926"
},
"BTC_NXT" : {
와 같이 { key : value } 같은 형태가 반복해서 나타나는 것을 볼 수 있는데, 이를 json 포맷이라고 합니다.
이 형식으로 Database 뿐만 아니라 객체정보 등을 모두 Text 화 하여 전송할 수 있습니다.
위의 예에서 Key 는 "BTC_LTC" 이며 Value 는
{ "last":"0.0251",
"lowestAsk":"0.02589999",
"highestBid":"0.0251",
"percentChange":"0.02390438",
"baseVolume":"6.16485315",
"quoteVolume":"245.82513926"
}
가 됩니다.
Value 도 여러개의 Json 포맷으로 되어있는데, "last", "lowestAsk" 등은 Key 가 됨을 볼 수 있습니다.
Json 포맷을 중첩시키면 다양한 데이터베이스를 text 화 하여 전송할 수 있을 겁니다.
import json, requests
url = 'https://poloniex.com/public?command=returnTicker'
resp = requests.get(url)
data = json.loads(resp.text)
for d in data:
print d + " " + data[d]["last"]