2021. 1. 17. 14:09ㆍPython
이번에는 파이썬을 통해 날씨정보를 받아와보겠습니다.
먼저 파이썬으로 날씨정보를 불러오기 위해 필요한것들을 찾아보겠습니다.
먼저 날씨정보에 필요한 함수를 불러오기 위해 요청함수를 불러오겠습니다.
그리고 고유의 api키가 필요하기 때문에 apikey를 발급받아야 합니다.
먼저 고유의 api키를 받기 위해서는 openweathermap.org/ 사이트에 들어가서 회원가입후 이메일 인증을 받아서 고유 api키를 받아야 합니다.
이제 코드를 작성해 보겠습니다.
requests 모듈과 json모듈을 불러왔습니다.
그리고 city 는 제가 알고싶은 날씨의 도시로 설정하고,
apikey는 필자의 고유번호이기 때문에 블락처리를 하였습니다.
그리고 lang는 언어설정인데 저는 한국어인 "kr"로 하였습니다.
json모듈을 불러온 이유는 아래 코드에서 설명하겠습니다.
그 다음, 위아 같이
api =http://api.openweathermap.org/data/2.5/weather?
를 설정해 줍니다.
이때 f-string을 사용하여 api 중괄호 안에 값을 넣어줄 것입니다.
이 api는 다른사람이 날씨를 확인해주는 것을 만든 api인데 우리는 이걸 가져와 사용할수 있습니다.
(출처 : openweathermap.org/current) <-여기서 받아왔습니다.
그리고 위 코드에 "?"뒤에는 제가 이제 설정할 코드입니다. 앞서 작성한 city와 appid, lang을 설정하고
마지막으로 units=metric는 섭씨, 화씨등의 온도를 동일하게 해주는 코드입니다.(사이에 &=and를 설정하였습니다.)
그리고 결과(result)변수를 requests.get을 사용하여 필요한 부분만 설정하였습니다.
그리고 data라는 변수를 만들어 result.txt.를 json.loads함수에 넣어줍니다.
이것이 아까 json이라는 모듈을 불러온 이유인데,
json은 모두 딕셔너리 문법을 사용합니다. 그러나 현재 requests.get()을 적용한 result변수는 모두 문자열입니다.
따라서 받아온 응답값을 json타입인 dict타입으로 변경이 필요합니다.
실제로 타입을 프린트해보면 아래와 같은 결과가 나옵니다.
이제 data를 출력해보면,
위와 같은 값이 나오는것을 확인할 수 있습니다.
이를 이제 깔끔하게 출력해 보겠습니다.
위와 같이 리스트 형식으로 바꾸어 입력문을 작성해 보았습니다.
그리고 출력해 보면,
위와 같이 현재 Seoul의 날씨에 대해 출력되는 것을 확인할 수 있습니다.
이러한 모듈과 코딩을 작성했으니, 이제 city 와 lang만 바꿔서 다른 도시나 다른 언어로 원하는 기온을 알 수 있습니다.
예를 들어, 이번에는 부산의 온도를 알고 싶으면,
위와 같이 city의 값만 Busan으로 변경한후 출력해보면
위와 같이 부산의 기온을 확인할 수 있습니다.
그리고 아까 올려놓았던 출처 링크에서 ,
아래와 같이 우리가 Api를 통해 우리가 확인할 수 있는 도시, 언어 들이 제공되어 있습니다.
'Python' 카테고리의 다른 글
[Python]파이썬 이메일 보내기 (0) | 2021.01.19 |
---|---|
[Python]번역프로그램 만들기 (0) | 2021.01.18 |
[Python]실시간검색어 불러오기 (0) | 2021.01.15 |
[Python]requests함수 (0) | 2021.01.13 |
[Python]모듈을 이용한 quiz (0) | 2021.01.11 |