본문 바로가기
코인자동매매/업비트

비트코인 및 김프 시세 메신저로 받기 (1)

by 영혼의 길 2021. 11. 2.
반응형

안녕하세요

 

오늘은 비트코인 시세 및 김치 프리미엄 시세를 받는 방법에 대하여 포스팅하려고 합니다.

 

맨날 들어가서 확인하기 귀찮으셨죠?

 

저는 그래서 아침마다 저한테 메시지가 오도록 만들었답니다.

이건 조코딩님 채널에 있는 slack 메신저를 이용하는 방법입니다. 

 

 

 

 

여기 있는 방법으로만 하면 안 됩니다.

위의 영상으로만 하면 에러가 생기더라고요.

 

아래 조코딩님 블로그에 에러를 해결하는 방법이 나오는데 그대로 하시면 됩니다.

https://developerdk.tistory.com/96

 

slacker.Error: invalid_auth 에러 해결방법

안녕하세요 유튜버 조코딩입니다. 제 채널의 크레온 API를 활용한 파이썬 주식 투자 자동화 강의 들으시는 분들 중 slacker를 이용하실 때 2021년2월24일 이후 invalid_auth에러가 떠서 진행이 안되시는

developerdk.tistory.com

 

참고로 response <200>이 떠도 가지지 않더라고요.

 그럴 경우 API권한에서 "chat:write.public"을 추가하시면 됩니다.

 

그러면 기본적으로 post message에 원하는 내용만 적으면 그 부분이 나에게 메시지로 오게 됩니다.

 

이제 받을 정보들을 모아야 합니다.(크롤링)

 

크롤링 - 정보를 모으는 것이라고 할 수 있는데요.

 

정보를 모은 다음 그 메시지를 나에게 보내도록 만드는 겁니다.

 

옛날에는 직접 다 만들어야 됐다면 지금은 누가 만들어 놓은 프로그램을 써서 만들어서 옛날보다 

훨씬 배우기 쉬워진 겁니다.

 

사실 책을 처음부터 보면서 hello world부터 배우는 게 의미 있나 싶네요.

자기가 필요한 것을 만들어 나가면서 배우는 게 의욕이 훨씬 높은 것 같아요.

 

이제 제가 원하는 것을 slack이란 메신저로 받으려고 합니다.

 

제가 원하는 것은 김프와 비트코인 가격정해진 시간에 받으려고 해요.
(김프가 란 사이트에서 바로 받아도 되는데 php는 배운 적도 없어서 분석도 못하겠더라고요ㅠㅠ)

 

그럼 일단 김프는 우리나라의 코인 가격이 외국의 코인보다 비싸게 사야 하는 것을 말합니다.

 

간단하게 생각해보면

환율 1000

비트코인 1 개

-10000$

-천오십만 원(10,500,000)

 

이러면 우리나라가 외국보다 5%를 비싼 것처럼 보이네요

 

식으로 표현하면 10500000/(10000*1000)*100=5%으로 표현할 수 있습니다.

 

그럼 필요한 것이 1. 현재 환율정보 2. 바이낸스 비트코인 가격정보 3. 업비트 비트코인 가격정보입니다.

 

3번 업비트 가격정보는 이전 글들을 보면 쉽게 알 수 있습니다.

pyupbit를 import 해주고(안 되시면 pip install pyupbit)

upbit.get_balance("KRW-BTC"

요롷게 해주면 정보를 얻을 수 있어요

 

그럼 이제 환율정보와 바이낸스 가격정보를 얻어와야 합니다.

 

1. 환율정보

 

인베스팅 닷컴에서 환율정보가 있어 그 정보를 가져오려고 합니다.

https://kr.investing.com/currencies/usd-krw

 

USD KRW | 미달러 원 환율 - Investing.com

USD/KRW 미달러 원 환율 실시간 스트리밍 차트, 변환기와 기술 분석

kr.investing.com

 

여기 들어가서 F12를 누르시면 아래 그림처럼 옆에 이상한 게(?) 뜹니다.

 

거기서 마우스 모양을 클릭하고 elements클릭 마우스를 옮겨 환율정보에 클릭을 해줍니다.

 

그럼 아래 그림처럼 검은색으로 표시가 됩니다.

이 정보를 가져와야 합니다.

 

저는 Beatuifulsoup4라는 방법을 사용할 겁니다.

저도 검색하면서 알게 되었는데요. 다들 이걸로 많이 하더라고요.ㅋㅋㅋ

 

자세한 건 여기 위키피디아에서 보시면 됩니다.

https://en.wikipedia.org/wiki/Beautiful_Soup_(HTML_parser) 

원래극 urlopen이라는 방법을 사용했는데 그게 막혔는데 이걸 해결해주신 분이 있어 사용할 수 있습니다.

 

들어갈 때 모질라(인터넷 브라우저)인 척을 하면서 들어가는 겁니다.

headers = {'User-Agent': 'Mozilla/5.0'}

URL = 'https://kr.investing.com/currencies/usd-krw'
res = requests.get(URL, headers=headers)
soup = BeautifulSoup(res.text, 'html.parser' )
suup = soup.find("span", {"id":"last_last"})

요렇게 말이죠. 

 

위에 보이듯이 span을 찾고 거기에 아이디가 last_last를 찾으라는 겁니다.

 

이렇게 해서 최종본입니다.

E라는 곳에 str(suup.text)를 담으라는 겁니다.

 

위에 보면 김프를 계산하기 위해 서로 곱하고 나누고 해줘야 합니다.

여기서 간단하게 str, float, int 개념을 아셔야 합니다.
str는 문자입니다.
-'하나', '둘', '1232'
int는 정수입니다
-'1', '51', '565'
flot는 실수입니다.
-'1.565', '3.14'

문자로 설정되면 문자와 숫자는 계산을 할 수 없습니다.

하나/1 = 에러

숫자여도 마찬가지로 문자로 설정이 되어있다면 나눌 수가 없습니다.

1(문자)/1(숫자) = 에러

 

그래서 숫자로 바꿔줘야 하는데

-E = float(E)  

안에 콤마가 있어서 콤마는 문자이기 때문에 문자 + 숫자여서 변환이 안됩니다.

 

'하나 3424'를 숫자로 바꿀 수는 없으니까요.

 

그래서 re를 사용한 겁니다. 

대충 말하면 [,](콤마)를 없애라! 정도네요.

 

보면 콤마가 사라진 게 보이고 안 보이지만 실수로 바뀐 겁니다.

 

원래 한편에 끝내려고 했는데 너무 길어지네요 다음 편에 마저 끝내겠습니다.

비트코인 및 김프 시세 메신저로 받기 (2)

 

비트코인 및 김프 시세 메신저로 받기 (2)

안녕하세요 비트코인 및 김프시세 받기 2탄입니다. 어후 한편에 끝내려고 했는데 slack메신저와 저거하면 한세월 걸릴 것 같아 2편으로 만들었습니다. 필요한 정보가 3개 있었습니다 1. 환율정보 2

young0823.tistory.com

 

반응형

댓글