[세션] API

yeji·2025년 1월 2일
0

Python

목록 보기
33/36

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()
profile
👋🏻

0개의 댓글