이번 포스팅에선 비트파이넥스 API를 활용하여 비트코인 가격데이터를 요청해보겠다.
좀 더 자세한 설명은 코인베이스 API 사용 포스팅에 나와있으니 참고해도 좋다.
우선 비트파이넥스 API관련 링크에 접속한다
https://bitfinex.readme.io/v2/reference#rest-public-stats
왼쪽 candle을 눌러주면 아래와 같은 화면이 보인다.
우선 URL 방식중 GET과 POST방식에 대해서 간단히 설명하겠다.
GET(파란원)은 따로 암호화를 하지 않은 URL방식으로 URL을 보면 직관적으로 그 내용을 알 수 있다. 예시에 나와있는 링크를 봐도 어느정도 직관적으로 이해가 가능하다.
POST는 암호화를 거친 URL로 이상한 특수문자 알파벳 조합으로 이루어지기 떄문에 직관적으로 알 수 없다.
우리는 GET방식의 URL을 통해 데이터를 요청해 보겠다.
친절하게 파라미터에 대한 예시까지 들어주었으므로, 바로 URL에 적용시켜 보겠다.
예시 URL(GET방식)은 아래와 같다.
https://api.bitfinex.com/v2/candles/trade:6h:tBTCUSD/hist?limit=100&start=&end=&sort=1
라인별로 간단하게 보면 6시간봉으로 이루어진 BTCUSD마켓 데이터를 hist 방식으로(사진 빨간원 참조) 정렬된 상태로 100개 요청하는 것이다.
이제 코드패드로 이동해 보겠다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import requests from datetime import datetime import time def unixtime(t): #우리가 쓰는 시간을 유닉스타임으로 바꿈 temp = t.split('-') return int(time.mktime(datetime(int(temp[0]), int(temp[1]), int(temp[2])).timetuple())) ''' def unixtime_to_datetime(arr, interval, symbol): #우리가 쓰는 시간을 유닉스타임으로 바꿈 temp = t.split('-') return int(time.mktime(datetime(int(temp[0]), int(temp[1]), int(temp[2])).timetuple())) ''' timeframe = '6h' symbol = 'tBTCUSD' section = 'hist' limit = 100 end = "2018-03-01" start = "2018-02-25" sort = 1 r = (requests.get("https://api.bitfinex.com/v2/candles/trade:%s:%s/%s?limit=%d&start=%d&end=%d&sort=%d" %(timeframe, symbol, section, limit, unixtime(start)*1000, unixtime(end)*1000, sort))) data = r.json() print(data) | cs |
해당 코드를 실행하면 아래와 같다.
이런식으로 데이터를 받아올 수 있다.
이후 csv저장 등 필요한 작업을 진행하면 된다.
'데이터분석 > with Python' 카테고리의 다른 글
[Python] SVM 서포트 백터 머신의 정의 및 예시 코드(sklearn) (1) (0) | 2018.04.15 |
---|---|
Stratified Sampling(층화추출법) 설명 (0) | 2018.04.03 |
[Python] LSTM을 활용한 비트코인 가격 예측 및 결과측정 (1) | 2018.03.06 |
[Python] 비트코인 가격예측을 위한 학습 데이터 전처리 (3) (0) | 2018.03.06 |
[Python] 비트코인 가격예측을 위한 학습 데이터 전처리 (2) (2) | 2018.03.06 |