파이썬 웹훅을 사용한 실시간 날씨 예보 서비스 구축 방법
개요
날씨 예보는 많은 사람들이 일상생활에서 필요로 하는 정보 중 하나입니다. 이번에는 파이썬을 이용하여 실시간 날씨 예보 서비스를 구축하는 방법을 알아보겠습니다.
필요한 도구
- Python (버전 3 이상)
- OpenWeatherMap API (날씨 데이터를 제공하는 서비스)
단계별 구현 방법
- OpenWeatherMap API에서 API 키를 발급받습니다.
- 웹훅 (Webhook)을 설정하여 실시간 날씨 데이터를 받아올 수 있는 웹 서버를 구축합니다.
- Flask 라이브러리를 사용하여 웹 서버를 개발합니다.
- OpenWeatherMap API를 호출하여 날씨 데이터를 받아옵니다.
- 서버는 이 데이터를 필요한 형식으로 가공하여 클라이언트에게 응답합니다.
코드 예시
from flask import Flask, jsonify
import requests
app = Flask(__name__)
@app.route('/weather', methods=['GET'])
def get_weather():
api_key = 'YOUR_API_KEY'
city = 'Seoul'
url = f'http://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}'
response = requests.get(url)
weather_data = response.json()
# 필요한 데이터 추출 및 가공
temperature = weather_data['main']['temp'] - 273.15
humidity = weather_data['main']['humidity']
description = weather_data['weather'][0]['description']
# JSON 형식으로 응답 데이터 생성
response_data = {
'temperature': temperature,
'humidity': humidity,
'description': description
}
return jsonify(response_data)
if __name__ == '__main__':
app.run()
실행
- 코드를 작성한 후,
YOUR_API_KEY
부분에 발급받은 OpenWeatherMap API 키를 입력합니다. - 터미널에서 해당 프로그램을 실행합니다.
- 웹 브라우저에서
http://localhost:5000/weather
로 접속하면 실시간 날씨 데이터를 확인할 수 있습니다.
결론
이렇게 파이썬을 이용하여 웹훅을 구축하여 실시간 날씨 예보 서비스를 개발할 수 있습니다. OpenWeatherMap API를 활용하면 다양한 날씨 정보를 얻을 수 있으므로, 웹 어플리케이션 등 다양한 활용 가능성이 있습니다.
#날씨 #API