DL(Deep-Learning)/Python 기초

[코드라이언] 날씨 정보 받아오기

AI 그게 뭔데 2022. 1. 26. 10:09

코드라이언의 [심화] 같이 푸는 PYTHON 과정의 날씨 정보 받아오기 내용을 간략히 정리한 것이다.

 

1. 필요한 모듈을 import 한다.

import requests
import json

 

2.  내가 알고싶은 도시와 보고싶은 언어를 추가하여 api 주소를 완성한다.

city = "Seoul" # 보고싶은 도시
apikey = "#######" # 내 API key값을 넣어준다.
lang = "kr" # 보고싶은 나라 언어

api = f"http://api.openweathermap.org/data/2.5/weather?q={city}&appid={apikey}&lang={lang}&units=metric"

 

apikey에 내가 발급받은 API key 값을 넣어 누가 사용한다는 것을 알려주는 의미로 사용한다.

 

 

3. api주소로 요청을 보내고 응답받은 내용을 json으로 변경하기

result = requests.get(api)
data = json.loads(result.text)

 

requests 모듈로 요청을 보내고 result로 응답을 받아온다.

result 를 출력해보면  <Response [200]>이라는 값을 출력해준다. 출력의 의미는 제대로 응답을 받았다는 의미이다.

응답받은 내용을 보기위해 result.text를 사용하고 그 값을 json.loads(result.text)를 이용해 json type으로 변경해준다.

 

result.text

 

 

data # json으로 변경된 내용 값

 

 

json으로 변경된 내용이 더 보기 깔끔한 것을 볼 수 있다.

그리고 많은 데이터들을 json 파일로 많이 사용하기 때문에 익숙해질 필요가 있다.

 

 

4. 내가 보고싶은 내용을 가져온다.

print(data["name"],"의 날씨입니다.")
print("날씨는 ",data["weather"][0]["description"],"입니다.")
print("현재 온도는 ",data["main"]["temp"],"입니다.")
print("하지만 체감 온도는 ",data["main"]["feels_like"],"입니다.")
print("최저 기온은 ",data["main"]["temp_min"],"입니다.")
print("최고 기온은 ",data["main"]["temp_max"],"입니다.")
print("습도는 ",data["main"]["humidity"],"입니다.")
print("기압은 ",data["main"]["pressure"],"입니다.")
print("풍향은 ",data["wind"]["deg"],"입니다.")
print("풍속은 ",data["wind"]["speed"],"입니다.")

 

가져오는 방법은 딕셔너리에서 내용을 가져오는 방법처럼 key 값을 이용하여 불러온다.

 

코드는 간단하지만 API를 사용하는 방법과 json 파일을 사용해볼 수 있는 유익한 수업이였다.

자세한 내용을 공부하고 싶다면 코드라이언 [심화] 같이 푸는 PYTHON 과정을 들어보는 것을 추천한다.

 

 

 

코드라이언 | 손으로 하는 진짜 코딩

멋쟁이사자처럼이 만든 온라인 코딩 교육 서비스 코드라이언, 이제 눈으로만 공부하지 말고 손으로 진짜 코딩 공부를 시작해보세요!

www.codelion.net