printf("ho_tari\n");

일기예보를 알려주는 알리미 (python) 본문

Raspberry Pi

일기예보를 알려주는 알리미 (python)

호타리 2023. 9. 22. 12:07

<weather.py>

import requests # requests 라이브러리는 웹페이지에서 데이터를 가져오기 위해 사용
import re   # re 라이브러리는 정규 표현식을 사용하여 첵스트에서 원하는 패턴을 검색하는 데 사용

url = "http://www.kma.go.kr/wid/queryDFSRSS.jsp?zone=4139054000"
# 기상청 RSS 데이터를 제공하는 특정 URL을 설정, zone 매개 변수를 통해 특정 지역의 날씨 정보를 가져옴
response = requests.get(url)
# response.get() 함수를 사용하여 지정된 URL에 HTTP GET 요청을 보내고 응답을 response 변수에 저장

time = re.findall(r'<hour>(.+?)</hour>', response.text)
temp = re.findall(r'<temp>(.+)</temp>', response.text)
humi = re.findall(r'<reh>(.+?)</reh>', response.text)
wfKor = re.findall(r'<wfKor>(.+?)</wfKor>', response.text)
# re.findall() 함수를 사용하여 정규 표현식을 기반으로 XML 형식의 텍스트에서 원하는 데이터를 추출
# r'<hor>(.+?)</hour> 와 같은 패턴은 <hour> 태그 내의 내용을 추출하는 패턴을 나타냄

text = " "

for i in range(8):
    text = text + "(" + str(time[i]) + "시 "
    text = text + str(temp[i]) + "C "
    text = text + str(humi[i]) + "% "
    text = text + str(wfKor[i]) + ")"
    
# for 루프를 사용하여 시간당 날씨 정보를 포맷팅하여 하나의 문자열인 text에 저장, 
# # 이 문자열에는 시간, 온도, 습도 및 날씨 상태가 나열

print(text)
# 날씨 정보 화면에 출력

<compile 결과>