API 인증

앞서 살펴본 ISS 위치의 API 접속이나, 일출 일몰 API 접속같은 간단한 데이터는 API인증을 하지 않아도 되었다.

하지만 오늘 살펴볼 날씨 데이터의 API에 접근하기 위해서는 유료로 API인증을 해야한다.

그 이유는, 데이터가 훨씬 복잡하고 귀중하기 때문이다.

오늘 다뤄볼 컨텐츠는 12시간안에 비가 올지 알려주는 프로그램이다.

날씨 예측 사이트 : https://openweathermap.org/current

Current weather data - OpenWeatherMap Access current weather data for any location on Earth including over 200,000 cities! We collect and process weather data from different sources such as global and local weather models, satellites, radars and a vast network of weather stations. Data is avai openweathermap.org

위 API 제공 사이트로 접속하여 계정 생성시 무료로 제한된 횟수만큼 API접속을 할 수 있는 API키를 제공해준다.

우선 변수로 API 키를 지정해준다.

import requests

API_ENDPOINT = "<https://api.openweathermap.org/data/2.5/onecall>"
API_KEY = "6eb61789c7d9875a2bfb0f2992a9352c"

위 사이트의 문서를 살펴보면 48시간동안의 날씨 예측 데이터를 받을 수 있다.

파라미터에 위도, 경도, api 키를 전달해주도록 한다.

parameter = {
    "lat" : 37.566536,
    "lon" : 126.977966,
    "exclude" : "current,minutely,daily",
    "appid" : API_KEY
}

데이터를 출력해보면 상당히 방대한 양의 데이터인것을 확인할 수 있다.

response = requests.get(url=API_ENDPOINT, params=parameter)
data = response.json()

아래 사이트에 접속 시 JSON데이터를 보다 쉽게 볼 수 있다.

http://jsonviewer.stack.hu/

Online JSON Viewer   jsonviewer.stack.hu

데이터는 48시간의 예측 데이터를 제공하기 때문에 슬라이싱 기능으로 12시간까지의 데이터를 골라냈다.

slicing_Data = data["hourly"][0:12]