날씨 정보는 사람들이 일상 생활에서 많은 관심을 가지고 있습니다. 따라서 웹 애플리케이션을 통해 실시간으로 날씨 정보를 제공하는 것은 많은 사람들에게 유용한 서비스가 될 수 있습니다. 이번 블로그 포스트에서는 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를 통해 실시간으로 날씨 정보를 얻어오는 간단한 예제를 살펴보았습니다. 이를 응용하여 웹 애플리케이션을 개발하고, 사용자들에게 유용한 서비스를 제공할 수 있습니다.