본문 바로가기

Study Information Technology

암호화폐 가격 모니터링 스크립트 구현하기

728x90
반응형

암호화폐 가격 모니터링 스크립트 구현하기

Overview

암호화폐 시장은 변동성이 크기 때문에 가격 모니터링은 투자자들에게 매우 중요합니다. 특정 가격 임계값에 도달했을 때 사용자에게 알림을 보내는 스크립트를 구현하면, 적절한 시점에 매수 또는 매도 결정을 내리는 데 도움이 됩니다. 이번 글에서는 Python을 사용하여 암호화폐 가격을 모니터링하고, 지정한 임계값에 도달했을 때 알림을 보내는 간단한 스크립트를 만들어 보겠습니다.

1. 환경 설정

먼저, 필요한 라이브러리를 설치해야 합니다. 이 스크립트에서는 requestssmtplib을 사용하여 API로부터 데이터를 가져오고 이메일 알림을 보낼 것입니다. requests 라이브러리는 API와의 통신을 용이하게 해주며, smtplib은 이메일 전송을 처리합니다.

pip install requests

2. API 선택

암호화폐 가격을 가져오기 위해 무료 API를 사용할 수 있습니다. 여기서는 CoinGecko API를 예로 들겠습니다. 이 API는 다양한 암호화폐의 가격 정보를 제공하며, 사용하기 쉽습니다.

API 호출 예시

CoinGecko API를 사용하여 비트코인의 현재 가격을 가져오는 방법은 다음과 같습니다.

import requests

def get_bitcoin_price():
url = "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd"
response = requests.get(url)
data = response.json()
return data['bitcoin']['usd']

3. 가격 모니터링 및 알림 기능 구현

이제 가격을 모니터링하고, 특정 임계값에 도달했을 때 이메일로 알림을 보내는 기능을 추가해 보겠습니다. 사용자가 임계값을 설정할 수 있도록 하겠습니다.

코드 예시

다음은 가격 모니터링과 이메일 알림 기능을 포함한 스크립트입니다.

import smtplib
import time

# 이메일 전송 함수
def send_email(subject, message):
sender_email = "your_email@example.com"
receiver_email = "recipient_email@example.com"
password = "your_email_password"

msg = f"Subject: {subject}\n\n{message}"

with smtplib.SMTP_SSL("smtp.gmail.com", 465) as server:
server.login(sender_email, password)
server.sendmail(sender_email, receiver_email, msg)

# 가격 모니터링 함수
def monitor_price(threshold):
while True:
price = get_bitcoin_price()
print(f"현재 비트코인 가격: ${price}")

if price >= threshold:
send_email("비트코인 가격 알림", f"비트코인 가격이 ${price}로 상승했습니다!")
print("알림이 전송되었습니다.")
break  # 알림을 보낸 후 종료

time.sleep(60)  # 1분 간격으로 확인

if __name__ == "__main__":
threshold_price = float(input("가격 임계값을 입력하세요 (USD): "))
monitor_price(threshold_price)

코드 설명

  1. 이메일 전송 함수 (send_email): 이 함수는 이메일을 보내는 기능을 수행합니다. SMTP 서버에 로그인하여 지정된 이메일로 알림 메시지를 전송합니다.
  2. 가격 모니터링 함수 (monitor_price): 이 함수는 무한 루프를 사용하여 지정된 임계값에 도달할 때까지 비트코인 가격을 모니터링합니다. 가격이 임계값에 도달하면 알림을 보내고 루프를 종료합니다.
  3. 메인 블록: 사용자가 입력한 가격 임계값을 기준으로 모니터링을 시작합니다.

4. 에러 처리

이 스크립트에서는 몇 가지 일반적인 에러가 발생할 수 있습니다. 예를 들어, 인터넷 연결 문제나 API 호출 제한 등입니다. 아래는 몇 가지 에러 처리 방법입니다.

예외 처리 코드

try:
price = get_bitcoin_price()
except requests.exceptions.RequestException as e:
print("API 호출 중 오류 발생:", e)
time.sleep(60)  # 1분 후 재시도

에러 발생 예시

  1. API 호출 실패: 인터넷 연결 문제로 API에 접근할 수 없을 때 발생합니다.
  • 오류 메시지: API 호출 중 오류 발생: <error_message>
  • 해결책: 연결 상태를 확인하고, API 호출을 재시도합니다.
  1. 이메일 전송 실패: 잘못된 이메일 설정이나 SMTP 서버 문제로 이메일 전송이 실패할 수 있습니다.
  • 오류 메시지: smtplib.SMTPAuthenticationError
  • 해결책: 이메일 설정을 확인하고, 비밀번호를 다시 입력합니다.

5. 참고 문서

위와 같은 방법으로 간단한 암호화폐 가격 모니터링 스크립트를 구현할 수 있습니다. 이 스크립트를 바탕으로 자신만의 기능을 추가하여 더 발전된 모니터링 시스템을 만들어 볼 수도 있습니다.

728x90
반응형