본문 바로가기

2-minutes lecture

파이썬으로 오픈API 호출해보기

다들 다 한다는 파이썬으로 오픈API 호출해서 작성하는 보고서, 리포트.

이걸 시작하는 방법에 대한 글입니다.

 


 

사전준비

 

1. 구글 CoLab가입 : 페이지 열고 구글 계정으로 가입하면 됩니다.

2. 한국은행 Open API 가입 : 이메일로 가입가능하고, 가입하면 메일로 키값이 하나 날아옵니다.

 

여기까지 하면 80프로는 완료한 것임.


 

CoLab을 열어보겠습니다. 아래와 같이 보여지면 '새노트'를 클릭합니다.

 

만약 아래와 같이 보여지면 메뉴에서 '파일-새 노트'를 선택하세요.

 
 
이렇게 새창이 뜨면 준비 완료입니다.

 


 

잠깐 중요한 단축키 3개만 정리하고 가겠습니다.

  • Ctrl + M, B : 실행없이 코드라인 추가
  • Ctrl + Enter : 현재 코드라인 실행
  • Shift + Enter : 현재 코드라인 실행하고 새 코드라인 추가

 

계속 반복해서 사용하니 우선 이런 게 있다 정도로만 알고 계시면 됩니다.

 


이제 한국은행 오픈API 화면을 열겠습니다.

 

 

스크롤 다운하면 아래와 같은 탭이 보입니다.

 

 

중간에 있는 주소를 복사하여 브라우저에 넣고 엔터

https://ecos.bok.or.kr/api/StatisticTableList/sample/xml/kr/1/10/102Y004

중간에 xml이라는 단어를 json으로 바꿔서 한번 더 호출해 봅니다.

 

두 방법(xml, json)은 같은 결과를 다른 양식으로 보여주고 있습니다.

우리는 json으로 호출한 주소를 사용할 예정입니다.

 


 

위의 방법은 어떤 데이터를 불러오는 한국은행 API를 "브라우저"를 사용해서 데이터를 확인(호출)했습니다.

이제 한국은행 API를 파이썬으로 호출해보겠습니다.

 

(1)

CoLab 새 창이 떠 있을테고, 아래와 같이 입력하고 ctrl+enter. 즉 현재 코드라인 실행 단축키입니다.

 

가장 처음 실행할 땐 아래와 같이 시간이 좀 걸립니다. 클라우드에 나만의 가상컴퓨터를 만들어야 하기 때문입니다. 

 

 

실행이 끝난 결과입니다. url에 저장된 결과가 다음 줄에 보여지고 있고, 화면자체에서는 오른쪽에 보니 안보이던 정보(RAM, DISK)가 보입니다.

 

 

(2)

단축키 Ctrl + M, B 하여 새로운 라인을 만들어 아래를 입력하고 Ctrl + Enter

import requests
r = requests.get(url)
r.text
결과를 보니 브라우저에서 봤던 내용과 같은 내용이 조회가 되고 있습니다.

(3)

이제 이 결과를 파이썬에서 보기 좋은 형태로 만들겠습니다.

Ctrl + M, B 하여 새로운 라인을 만들고 아래 내용을 입력 후 Ctrl + Enter.

 

import requests 
import pandas as pd

r = requests.get(url)
j = r.json()

j
 
json 형태로 결과가 나옵니다.
 
 

 

(4) 

또 새로운 줄을 만들어 입력하고 실행. 이제 단축키는 아시죠?

import requests 
import pandas as pd

r = requests.get(url)
j = r.json()

df = pd.DataFrame(j['KeyStatisticList']['row'])
df

 

(5)

실제 인증키를 넣어서 호출하기 입니다., 이때는 갯수 제한이 없어지므로 맨 뒤 숫자를 10을 넘게 넣어도 됩니다.

아래 코드를 넣고 실행해보세요. # 뒤에 있는 부분은 주석입니다.

 

import requests   # requests 라이브러리 불러오기
import pandas as pd # pandas 라이브러리 불러와서 pd라는 이름으로 사용하도록 설정하기

r = requests.get(url)  # url을 호출해서 결과값을 r에 넣기
j = r.json()   # r에 있는 내용을 json 형태로 변환하여 j에 넣기
df = pd.DataFrame(j['KeyStatisticList']['row'])  # j에 있는 KeyStatisticList 값 안에 들어 있는 row 내용을 데이터프레임 형태로 만들어 df에 넣기

df # df 보기
#df.to_excel('KeyStat.xlsx')  # 액셀파일로 저장

 

 


간단한가요?

 

우선 맨 마지막 코드를 안보고 칠 수 있을 정도로 서너번 반복해보세요.

url 은 당연히 외울필요 없이 어딘가에 복사해 놓으시고.

그리고 한줄 한줄 Ctrl + Enter 해가면서 실행해보시구요.

정말 딱 서너번 하면 훨씬 익숙해집니다.

 


 

파이썬을 사용해서 오픈API 호출을 하는 방법에 대해 알아봤습니다.

다음에는 이렇게 불러온 데이터를 가지고 그래프나 통계표를 만들어보겠습니다.

 

 

'2-minutes lecture' 카테고리의 다른 글

MSA  (0) 2023.07.06
ChatGtp로 책쓰기  (1) 2023.04.19
대체투자란?  (0) 2023.03.28
(5분 만에 이해하는 IT 용어) EDW  (0) 2023.03.01
(북리뷰) 그림과 실습으로 배우는 도커 & 쿠버네티스  (0) 2023.02.26