728x90
데이터 수집] 한국은행 Open API 서비스
import requests
import xml.etree.ElementTree as ET
import xml.dom.minidom
# OpenAPI URL 정의
url = "http://ecos.bok.or.kr/api/StatisticItemList/sample/xml/kr/1/1/901Y009/"
# API 호출
response = requests.get(url)
# HTTP 요청 성공 시
if response.status_code == 200:
try:
# API 리턴값을 가져옴
contents = response.text
ecosRoot = ET.fromstring(contents)
# 호출 결과에 오류가 있는지 확인
if ecosRoot[0].text[:4] in ("INFO", "ERRO"):
print(ecosRoot[0].text + " : " + ecosRoot[1].text)
else:
# 결과값을 예쁘게 출력
dom = xml.dom.minidom.parseString(contents)
pretty_xml_as_string = dom.toprettyxml(indent=" ")
print(pretty_xml_as_string)
except Exception as e:
print(str(e))
# 예외 처리
else:
print("API 요청 실패: 상태 코드", response.status_code)
728x90