파이썬 웹훅을 사용한 실시간 날씨 예보 서비스 구축 방법

소개

실시간 날씨 예보 서비스는 매우 유용한 기능이며, 파이썬 웹훅을 활용하여 구축할 수 있습니다. 이 글에서는 실시간 날씨 정보를 가져와서 사용자에게 보여주는 간단한 예제를 통해 구현 방법을 설명하겠습니다.

전제조건

구현 단계

1. 필요한 라이브러리 설치

먼저 아래 명령어를 사용하여 필요한 라이브러리를 설치합니다.

pip install requests

2. API 키 설정

발급받은 OpenWeatherMap API 키를 사용하기 위해, config.py라는 파일을 생성하고 다음과 같이 API 키를 설정합니다.

API_KEY = "YOUR_API_KEY"

3. 날씨 정보 가져오기

아래 코드를 사용하여 OpenWeatherMap API를 호출하여 날씨 정보를 가져옵니다. 이 코드를 weather.py라는 파일로 저장합니다.

import requests
import json
from config import API_KEY

def get_weather(city):
    url = f"http://api.openweathermap.org/data/2.5/weather?q={city}&appid={API_KEY}"
    response = requests.get(url)
    data = json.loads(response.text)
    return data

city = "Seoul"
weather_data = get_weather(city)
print(weather_data)

4. 결과 확인

터미널에서 weather.py 파일을 실행하여 날씨 정보를 확인할 수 있습니다.

5. 웹훅 구현

아래 코드를 사용하여 Flask 웹 프레임워크를 이용하여 웹훅을 구현합니다. 이 코드를 app.py라는 파일로 저장합니다.

from flask import Flask, jsonify
from weather import get_weather

app = Flask(__name__)

@app.route("/weather/<city>", methods=["GET"])
def weather(city):
    weather_data = get_weather(city)
    return jsonify(weather_data)

if __name__ == "__main__":
    app.run()

6. 서비스 테스트

터미널에서 app.py 파일을 실행하고 웹 브라우저에서 http://localhost:5000/weather/Seoul에 접속하여 데이터를 확인합니다. 웹훅을 통해 실시간 날씨 정보가 반환되는 것을 확인할 수 있습니다.

마무리

이렇게 파이썬 웹훅을 사용하여 실시간 날씨 예보 서비스를 구축하는 방법을 알아보았습니다. 이를 응용하여 사용자에게 보다 다양한 형태의 날씨 정보를 제공할 수 있으니, 향후 프로젝트에서 활용해보시기 바랍니다.

해시태그

#파이썬 #웹훅 #날씨