본문 바로가기
파이썬 업무자동화

파이썬 업무 자동화: 날씨 API로 똑똑하게 일하기

by yourpick 2024. 10. 31.

파이썬으로 업무 자동화를 하다 보면, 갑자기 날씨 정보가 필요할 때가 있어요.

저도 얼마 전에 저녁 러닝을 위해 퇴근을 좀 일찍 하려고 했는데, 갑자기 비 예보가 있어서 낭패를 봤거든요.

일도 제대로 못하고, 러닝도 못하고… 😫 그때, 괜히 날씨 정보를 API로 받아오는 걸 한번 해보고 싶어졌어요.

'이참에 싹 해결해 버리자!' 하는 마음으로 기상청 Open API를 활용해 파이썬으로 날씨 정보를 가져오는 방법을 알아봤습니다.

 

혹시 여러분도 저처럼, 매번 날씨 예보를 확인하는 게 귀찮거나, 특정 날씨에 맞춰 자동으로 알림을 받고 싶은 생각이 드신다면, 이 글이 도움이 될 거예요.

자, 그럼 어떻게 파이썬으로 날씨 정보를 가져오는지, 기상청 Open API를 활용하는 방법을 자세히 알아볼까요?

 


파이썬으로 기상청 날씨 정보 API 활용하기: 핵심 기능부터 활용 예시까지

기상청 Open API는 한국 기상청에서 제공하는 공공 데이터 API 중 하나인데요.

이 API를 활용하면 파이썬으로 특정 지역의 날씨 정보를 실시간으로 가져올 수 있어요.

예보 시간, 기온, 습도, 강수량, 풍향, 풍속 등 다양한 날씨 정보를 얻을 수 있기 때문에 업무 자동화에 유용하게 활용할 수 있답니다.

하지만 API를 사용하려면 먼저 인증키를 발급받아야 한다는 점을 기억해두세요.

공공데이터 포털 사이트에서 간단하게 신청하면 바로 발급받을 수 있으니, 어렵지 않아요!

 


기상청 Open API 신청 및 인증키 발급: 첫걸음

날씨 정보 API를 사용하려면 먼저 공공데이터 포털( 접속해야 해요.

사이트에 들어가셔서 "기상청" 검색 후 "기상청 동네예보 조회 서비스"를 찾아보세요.

오른쪽 상단에 "활용신청" 버튼을 클릭하고, 간단한 정보를 입력하면 바로 승인이 됩니다.

정말 쉽죠? 😉

승인이 완료되면 마이페이지에서 인증키를 확인할 수 있어요.

이 인증키는 API를 호출할 때마다 전달해야 하니, 안전하게 보관하는 게 좋겠죠?

 


필요한 라이브러리 설치: 파이썬 환경 구축

파이썬에서 기상청 Open API를 사용하려면 몇 가지 라이브러리가 필요해요.

주로 사용하는 라이브러리는 다음과 같습니다.

 

requests HTTP 요청을 보내는 데 사용
json JSON 데이터를 파싱하는 데 사용
datetime 날짜와 시간을 처리하는 데 사용

라이브러리 기능

 

이 라이브러리들은  명령어를 통해 쉽게 설치할 수 있어요.

아래 명령어를 실행해 보세요.

 

pip install requests

날씨 정보 API 호출 및 데이터 처리: 코드 작성

이제 본격적으로 코드를 작성해 볼까요?

아래는 기상청 Open API를 호출하여 날씨 정보를 가져오는 기본적인 코드 예시입니다.

 

import requests
import json
from datetime import datetime

# 기상청 API URL
url = "http://apis.data.go.kr/1360000/VilageFcstInfoService/getVilageFcst"

# 사용자 인증키 입력
service_key = "YOUR_SERVICE_KEY" 
base_date = datetime.now().strftime('%Y%m%d')  # 오늘 날짜
base_time = '0600'  # 예보 시간 (예: 06:00)
nx = '60'  # 예보 지점 X 좌표
ny = '127'  # 예보 지점 Y 좌표

# API 요청 파라미터 설정
params = {
    'serviceKey': service_key,
    'base_date': base_date,
    'base_time': base_time,
    'nx': nx,
    'ny': ny,
    'dataType': 'JSON'
}

# API 요청
response = requests.get(url, params=params)
data = response.json()

# 날씨 데이터 출력
if response.status_code == 200:
    print("기온은", data['response']['body']['items']['item'][0]['obsrValue'], "도 입니다.")
else:
    print("API 요청 실패:", response.status_code)

코드 설명: 한 줄 한 줄 뜯어보기

  • API URL: 기상청의 날씨 정보 조회 서비스 URL이에요.
  • 인증키 및 위치 정보: 발급받은 서비스 키와 날씨 정보를 얻고 싶은 지역의 X, Y 좌표를 입력해야 해요.
  • API 요청:  메서드를 사용해서 API에 GET 요청을 보내는 거예요.
  • 데이터 처리: 응답으로 받은 JSON 데이터에서 필요한 정보를 추출해서 출력하는 거랍니다.

날씨 정보 API 활용: 업무 자동화의 무궁무진한 가능성


이렇게 가져온 날씨 정보를 어떻게 활용할 수 있을까요?

가장 쉽게 생각할 수 있는 건, 특정 시간에 자동으로 날씨 정보를 확인하고, 이를 기반으로 알림을 보내는 거예요.

예를 들어, 비가 오는 날에는 우산을 챙기라는 알림을 설정하거나, 미세먼지 농도가 높을 때는 마스크를 착용하라는 알림을 보낼 수도 있겠죠.

 

하지만 이 외에도 활용할 수 있는 방법은 무궁무진해요.

날씨 정보를 활용해서 출퇴근 시간을 조정하거나, 야외 활동 계획을 세우는 데 도움을 받을 수도 있고, 농업이나 건설 분야에서도 날씨 정보를 기반으로 작업 계획을 수립하는 데 활용할 수 있어요.

 


실제 활용 예시: 나만의 맞춤형 날씨 알림 만들기

예를 들어, 저녁에 러닝을 가려고 할 때, 비가 오는지 확인하고 알림을 보내는 프로그램을 만들 수 있어요.

이 프로그램은 매일 저녁 6시에 날씨 정보를 가져와서, 비가 올 확률이 50% 이상이면 알림을 보내도록 설정할 수 있죠.

이렇게 하면 비 예보 때문에 낭패를 보는 일은 없을 거예요! 😄

 


활용 팁: 더욱 다양하고 유용한 정보 활용

날씨 정보 API를 활용하면 더욱 다양하고 유용한 정보를 얻을 수 있어요.

예를 들어, 특정 기간 동안의 날씨 데이터를 저장하고 분석하여, 날씨 변화 추이를 파악하거나, 특정 날씨 패턴과 관련된 통계를 생성하는 것도 가능하답니다.

또한, 다른 API와 연동하여 더욱 복잡하고 다양한 자동화 작업을 구현할 수도 있구요.

 

QnA

Q1. 기상청 Open API를 사용하기 위해 어떤 준비가 필요한가요?

 

A1. 기상청 Open API를 사용하려면 먼저 공공데이터 포털에서 API 활용을 신청하고 인증키를 발급받아야 합니다. 그리고 파이썬 환경에서 requests, json, datetime 라이브러리를 설치해야 합니다.

 

Q2. API 호출 시 필요한 파라미터는 무엇인가요?

 

A2. API 호출 시에는 인증키(serviceKey), 날짜(base_date), 시간(base_time), 예보 지점 X 좌표(nx), 예보 지점 Y 좌표(ny) 등이 필요합니다.

 

Q3. 날씨 정보 API를 활용하여 어떤 자동화 작업을 할 수 있나요?

 

A3. 날씨 정보 API를 활용하면 특정 시간에 날씨 정보를 확인하고 알림을 보내는 것부터, 날씨 데이터를 분석하여 통계를 생성하는 것, 다른 API와 연동하여 더욱 복잡한 자동화 작업을 수행하는 것까지 다양한 작업이 가능합니다.

 

키워드

파이썬,Python,업무자동화,자동화,API,OpenAPI,기상청,날씨,날씨정보,기온,습도,강수량,풍향,풍속,예보,데이터수집,데이터분석,알림,알람,프로그래밍,스크립트,requests,json,datetime,공공데이터,공공데이터포털,활용,활용팁,활용가능성,개발,개발자,코딩,코딩초보,러닝,퇴근,일상,생활코딩,꿀팁,팁,정보,정보공유,자동화프로그래밍,파이썬활용