[파이썬] 웹 프레임워크를 이용한 실시간 날씨 정보 제공

날씨 정보는 사람들이 일상 생활에서 많은 관심을 가지고 있습니다. 따라서 웹 애플리케이션을 통해 실시간으로 날씨 정보를 제공하는 것은 많은 사람들에게 유용한 서비스가 될 수 있습니다. 이번 블로그 포스트에서는 Python을 사용하여 웹 프레임워크를 구축하고, OpenWeatherMap API를 사용하여 실시간으로 날씨 정보를 얻어오는 방법을 알아보겠습니다.

웹 프레임워크 선택

Python에는 다양한 웹 프레임워크가 있지만, 여기서는 Flask를 사용하여 예제를 설명하겠습니다. Flask는 가벼우면서도 간단하게 웹 애플리케이션을 개발할 수 있는 프레임워크입니다.

Flask를 설치하기 위해 다음 명령어를 터미널에 입력해주세요:

pip install Flask

OpenWeatherMap API 사용하기

OpenWeatherMap은 날씨 데이터를 제공하는 유명한 API입니다. 이 API를 사용하여 현재 날씨 정보를 얻어올 수 있습니다.

OpenWeatherMap API 키를 발급받으려면 OpenWeatherMap 사이트 에서 회원가입하고 키를 발급받아야 합니다.

Flask 애플리케이션 구현하기

app.py 파일을 생성하고 다음 예제 코드를 입력해주세요:

from flask import Flask, render_template
import requests

app = Flask(__name__)

@app.route('/')
def index():
    # OpenWeatherMap API 요청 URL
    url = "http://api.openweathermap.org/data/2.5/weather?q=Seoul&appid=YOUR_API_KEY"

    # API 요청 보내기
    response = requests.get(url)

    # 응답 데이터 파싱
    data = response.json()

    # 필요한 데이터 추출
    city = data['name']
    temperature = data['main']['temp']
    description = data['weather'][0]['description']

    return render_template('index.html', city=city, temperature=temperature, description=description)

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

위 코드에서 YOUR_API_KEY 부분에 본인이 발급받은 OpenWeatherMap API 키를 입력하세요.

HTML 템플릿 작성하기

templates/index.html 파일을 생성하고 다음 예제 코드를 입력해주세요:


<!DOCTYPE html>
<html>
<head>
    <title>실시간 날씨 정보</title>
</head>
<body>
    <h1>{{ city }}의 실시간 날씨 정보</h1>
    <p>온도: {{ temperature }}</p>
    <p>날씨: {{ description }}</p>
</body>
</html>

위 코드에서는 Flask 템플릿 엔진을 사용하여 동적으로 변수를 표시하고 있습니다.

애플리케이션 실행하기

터미널에서 다음 명령어를 입력하여 애플리케이션을 실행해주세요:

python app.py

웹브라우저에서 http://localhost:5000 으로 접속하면, 실시간 날씨 정보가 표시됩니다.

결론

Python 웹 프레임워크를 사용하여 OpenWeatherMap API를 통해 실시간으로 날씨 정보를 얻어오는 간단한 예제를 살펴보았습니다. 이를 응용하여 웹 애플리케이션을 개발하고, 사용자들에게 유용한 서비스를 제공할 수 있습니다.