날짜를 입력해 해 당 연월일시에 관측된 기상 데이터 추출

-> 산불 데이터의 발생시간을 추출해서 산불 발생했을 때 기상 데이터 추출

import requests
from xml.etree import ElementTree as ET
import pandas as pd

# API 키
SKEY ='wqwWwuvq2tzgZ7bzR7cT%2FMucId6KRmnglo1vNgCHQUO4rcISf6fSpOpG6M8jGGUn12CwWIZsccctmTbDRyTUcg%3D%3D'

# API URL 및 파라미터
url = '<http://apis.data.go.kr/1400377/mtweather/mountListSearch>'
params = {
    'serviceKey': SKEY,
    'numOfRows': '1000',
    'pageNo': '1',
    '_type' : 'xml',
    'localArea' : '10',
    'tm' : '202306071510'
    
}

# 요청 보내기
response = requests.get(url, params=params)

# 응답 상태 확인
if response.status_code == 200:
    # XML 응답 파싱
    root = ET.fromstring(response.content)
    
    # 원하는 데이터를 추출하여 DataFrame으로 변환
    data = []
    for item in root.findall('.//item'):
        data.append({
            '산이름': item.find('obsname').text if item.find('obsname') is not None else None,
            '관측시간': item.find('tm').text if item.find('tm') is not None else None,
            '10m 풍향': item.find('wd10m').text if item.find('wd10m') is not None else None,
            '10m 풍속': item.find('ws10m').text if item.find('ws10m') is not None else None,
            '2m 풍향': item.find('wd2m').text if item.find('wd2m') is not None else None,
            '2m 풍속': item.find('ws2m').text if item.find('ws2m') is not None else None,
            '2m 풍향str': item.find('wd2mstr').text if item.find('wd2mstr') is not None else None,
            '2미터 습도': item.find('hm2m').text if item.find('hm2m') is not None else None,
        })
    
    # DataFrame 생성
    df = pd.DataFrame(data)
else:
    print("Failed to retrieve data:", response.status_code)
df

#df.to_excel("20210607 강원강릉 산불당시 기상.xlsx")