Python

[Python/ 데이터 분석] API (Application Programming Interface) 사용하기

2023. 4. 10. 18:57

 

API ( Application Programming Interface)


✔ API 란?

 Application Programming Interface

 

두 프로그램이 서로 대화하기 위한 방법을 정의한 것.

 

예시)

· 운영체제(window, Mac OS) : 문서 작성 프로그램이 디스크에 있는 파일을 읽고 쓸 수 있도록 API 제공

· 기상청 : 지역별, 실시간 날씨 정보를 얻을 수 있는 API를 제공

 

애플리케이션 간의 통신은 웹 기반의 API가 널리 활용된다.


HTTP 

Hyper Text Transfer Protocol

인터넷에서 웹 페이지를 전송하는 기본 통신 방법 (통신 규약)


서버
웹 데이터 요청
<<----------------------------------------------------------
HTTP

브라우저
---------------------------------------------------------->>
웹 데이터 전송
(HTML)

* 웹서버, 웹 브라우저는 모두 소프트웨어 프로그램.

 

여기서 중요한 것은 ?

웹기반 API = HTTP 프로토콜을 사용해 API를 만드는 것.

 

HTML

Hyper Ttext Markup Language

웹 브라우저가 화면에 표시할 수 있는 문서의 한 종류로 웹 페이지의 표준 언어

 

 

 웹 기반 API  에 대해 더 알아보자

웹 기반 API는 웹 서버와 웹 브라우저가 대화하는 방식과 비슷하다.

HTTP 프로토콜을 사용하지만 주고받는 것은 HTML이 아니라 일반적으로 CSV, JSON, XML 같은 파일을 사용한다.

 

위의 파일을 선호하는 이유❓ 

HTML은 구조가 비교적 복잡하기 때문에.

주고 받는 데이터가 복잡한 구조를 가지면 프로그램에 버그가 발생할 가능성이 높아진다😢

 

웹 기반 API에서는 CSV보다 JSON, XML을 많이 사용한다.

    CSV는 각 행마다 항목 개수가 정확하게 맞지 않으면 읽을 수가 없고,    

    행과 열로만 구성되기 때문에 복잡한 데이터 구조는 읽기 어렵기 때문!

     이에 비해 JSON, XML은 다양한 구조 생성이 가능하다.