안녕하세요 @flyyou입니다.
오늘은 시간이 좀 여유가 많았습니다.
일은 바쁜게 좀 끝나서 여유가 있는데 대놓고 모니터에 떡하니 거래사이트를 띄워놓기도 눈치보이고
그렇다고 시세정보를 보는 크롬 확장 프로그램을 보고 있는것도 좀 그렇고 ㅎ
고민 끝에 간단한 파이썬 스크립트를 만들어 보았습니다.
참고로 저는 파이썬 개발자가 아닙니다. 초보자로 재미삼아 공부삼아 이것저것 해보고 있는 수준입니다. ^^
myPython을 띄워놓고 소스를 받아서 실행만 시켜주면 됩니다.
30라인도 되지 않는 간단한 소스로 저는 지속해서 스팀가격 및 비트코인 이더리움등의 가격을 일하는 척! 하면서 볼 수 있습니다.
아니 일하는 중간중간에 실행창을 확인해 보는 것이지요~
좀 설명을 드리면 우선 9 line입니다.
이 부분은 cryptocompare.com의 API를 호출하는 것입니다.
중간에 파라미터로 ?fsyms=STEEM으로 조회를 원하는 코인과 &tsyms=BTC,USD,KRW 보고자 하는 가격을 넣으시면 됩니다.
https://min-api.cryptocompare.com/data/pricemulti?fsyms=STEEM,BTC,ETH&tsyms=BTC,USD,KRW
이렇게 STEEM, BTC, ETH를 넣어주시면 아래와 같이 3가지 코인에 대해서 가격을 표시해 줍니다.
{"STEEM":{"BTC":0.0008389,"USD":2.2,"KRW":2737.92},"BTC":{"BTC":1,"USD":2619.85,"KRW":3263700.88},"ETH":{"BTC":0.1401,"USD":362.21,"KRW":456009.75}}
이 부분은 주기적으로 api를 호출하기위해서 Timer라는 것을 이용해서 10초간격으로 조회를 하라고 Thread를 설정을 해 주는 부분입니다.
조금더 빠른 체크를 원하신다면 10이라는 숫자를 줄여보시면 되고 늘려보시면 주기가 더 길어집니다.
위 부분은 위의 API 결과에서 데이터를 추출해 주는 부분입니다. STEEM의 KRW값을 추출하기 위함입니다.
해당 부분은 STEEM 가격이 3000원이 넘었는지 판단하는 부분입니다.
3000원이 넘었다면 소리를 들려줍니다.
다른일을 하고 있다가도 소리를 듣고 아.... 스팀가격이 3000원이 넘었구나~~~ 라는 것을 알 수 있습니다.
제가 전문적인 파이썬 개발자가 아니라서 아주 초보적인 수준으로 작성해 본 샘플소스 같은 코드입니다.
조금 보강하면 특정 가격이 되면 메일을 보내준다는 등의 notification 로직도 넣을 수도 있겠습니다.
별것 아닌것 가지고 올리기 좀 쑥스럽습니다만. 아래 몇줄 안되는 전체 코드 붙여넣기 합니다.
심심하신 분들 해보시면 좋을 듯 합니다.^^
import threading
from urllib import request
import winsound
import json
def main():
print("### STARTING... ###")
checkCoin('https://min-api.cryptocompare.com/data/pricemulti?fsyms=STEEM&tsyms=BTC,USD,KRW')
def checkCoin(url):
threading.Timer(10, checkCoin, [url]).start()
data = request.urlopen(url).read(2000) # number of chars that should catch the announcement
print("########### http data ############")
#print(data)
json_data = json.loads(data)
print(json_data)
print(json_data["STEEM"]["KRW"])
krw = json_data["STEEM"]["KRW"]
if krw > 3000:
print("▲▲▲")
winsound.PlaySound("SystemExclamation", winsound.SND_ALIAS)
else:
print("Nothing")
main()