API
개념
- 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 방식
- 프로그램과 프로그램을 연결시켜 주는 통신의 방법

종류
- Public API : 누구나 사용 가능하게 하는 API
- Private API : 사내에서 사용하는 API
- Partner API :미리 정해놓은 사용자들만 쓰는 API
- Window API : 운영체제 대상 API
데이터 포맷
- JSON : JavaScript에서 객체를 만들 때 사용하는 표현식, 작성 구조가 매우 간단하고 타 프로그래밍 언어에서도 용이하게 작성할 수 있다는 범용성 측면에서 강점이 있음
- XML : 데이터베이스상에서 데이터필드값을 어떤 구조로 배치해 저장할 것인가를 정의
API 통신
원리
- HTTP : 웹 환경에서 정보를 주고받기 위한 프로토콜
- HTTP API : HTTP를 이용해 프로그램끼리 소통하는 API로, HTTP를 사용해서 서로 정해둔 스펙으로 데이터를 주고받으며 통신하는 것
- REST : HTTP를 잘 활용하기 위한 원칙
- REST API : 이 원칙을 준수해 만든 API
코드
# 라이브러리 설치
pip install requests
# 라이브러리 임포트
import requests
import pprint
import json
import pandas as pd
# 서울시 열린광장에서 복사해온 KEY 값과 URL 을 기입합니다.
# url 중 xml 부분을 json 으로 변경
url = 'http://openapi.seoul.go.kr:8088/발급받은 key 값/json/ServiceInternetShopInfo/1/5/'
# request library 를 이용한 json file 로드
response = requests.get(url).json()
# json 데이터 확인
response
# json file 의 key 값 확인 (각 딕셔너리 값으로 이뤄져있음)
response['ServiceInternetShopInfo'].keys()
# json 파일의 row 데이터 로드
response['ServiceInternetShopInfo']['row']
# json file 형식을 dataframe 으로 받아주기
raw1 = pd.DataFrame(response['ServiceInternetShopInfo']['row'])
raw1.head()