본문 바로가기
Programing/Python

KMA 테스트

by BroJune 2021. 8. 17.

- kma_csv_fileWrite

 

import requests
import re
url = 'http://www.kma.go.kr/weather/forecast/mid-term-rss3.jsp?stnId=108'

data = requests.get(url).text
# print(data)
location_list = re.findall('<location wl_ver="3">.+?</location>',data, re.DOTALL)

f = open('./Data/kma.csv', 'w', encoding= 'utf-8')

for row in location_list:
city = re.findall('<city>(.+?)</city>',row)
data_list = re.findall('<data>(.+?)</data>', row, re.DOTALL)
for data in data_list:
tmEf = re.findall('<tmEf>(.+?)</tmEf>', data)
wf = re.findall('<wf>(.+?)</wf>', data)
tmn = re.findall('<tmn>(.+?)</tmn>', data)
tmx = re.findall('<tmx>(.+?)</tmx>', data)
# print(city[0], tmEf[0], wf[0], tmn[0], tmx[0])
line = '{},{},{},{},{}'.format(city[0], tmEf[0], wf[0], tmn[0], tmx[0])
# csv 파일에 기록 하는 방법
print(line)
f.write(line+'\n')

f.close()
print('파일에 기록 하였습니다.')

- kmaTest

 

# 인터넷상에서 데이터를 주고 받는 형식
# csv, xml, json

import requests
import re
url = 'http://www.kma.go.kr/weather/forecast/mid-term-rss3.jsp?stnId=108'

data = requests.get(url).text
print(data)

location_list = re.findall('<location wl_ver="3">.+?</location>',data, re.DOTALL)
# print(location_list)
# print(len(location_list))
# print("*"*50)
# print(type(location_list))
# print(location_list[0])

# 연습) province만 출력 해 봅시다.
for row in location_list:
province = re.findall('<province>(.+?)</province>',row)
print(province[0])

# 연습) city만 추출하여 출력 해 봅니다.
# 연습) data를 찾아 data의 길이를 출력 해 봅니다.

for row2 in location_list:
city = re.findall('<city>(.+?)</city>',row2)
data_list = re.findall('<data>(.+?)</data>', row2, re.DOTALL)
print(city[0],len(data_list))
for data in data_list:
tmEf = re.findall('<tmEf>(.+?)</tmEf>', data)
wf = re.findall('<wf>(.+?)</wf>', data)
tmn = re.findall('<tmn>(.+?)</tmn>', data)
tmx = re.findall('<tmx>(.+?)</tmx>', data)
print(tmEf[0],wf[0],tmn[0],tmx[0])
print('-'*50)

# f = open('./Data/kma.xml','w',encoding= 'utf-8')
# f.write(data)
# f.close()
# print('파일을 기록하였습니다.')

 

- kmaTest_fileSave

 

# 인터넷상에서 데이터를 주고 받는 형식
# csv, xml, json

import requests
import re
url = 'http://www.kma.go.kr/weather/forecast/mid-term-rss3.jsp?stnId=108'

data = requests.get(url).text
print(data)

location_list = re.findall('<location wl_ver="3">.+?</location>',data, re.DOTALL)

for row in location_list:
city = re.findall('<city>(.+?)</city>',row)
data_list = re.findall('<data>(.+?)</data>', row, re.DOTALL)
print(city[0])
for data in data_list:
tmEf = re.findall('<tmEf>(.+?)</tmEf>', data)
wf = re.findall('<wf>(.+?)</wf>', data)
tmn = re.findall('<tmn>(.+?)</tmn>', data)
tmx = re.findall('<tmx>(.+?)</tmx>', data)
print(tmEf[0],wf[0],tmn[0],tmx[0])
print('-'*50)

'Programing > Python' 카테고리의 다른 글

파이썬 크롤링  (0) 2021.08.17
5-6 파이썬 외장함수  (0) 2021.08.17
5-5 파이썬 내장함수 12  (0) 2021.08.17
5-5 파이썬 내장함수 11  (0) 2021.08.17
5-5 파이썬 내장함수 10  (0) 2021.08.17