API 호출하기!

DKf·2023년 9월 17일
0

CS

목록 보기
3/11
post-thumbnail

API

import requests

target = "http://google.com"
response = requests.get(url=target)
print(response.text)

파이썬에는 다음과 같은 코드로 GET 방식을 통해 HTML을 출력할 수 있습니다. HTTP 메서드에 따라 기능이 달라지는데 POST를 통해 클라이언트는 서버에게 삭제 요청을 할 수 있습니다. 서버는 요청에 따라 적절히 처리하고 클라이언트 또한 적절하게 요청할 수 있어야 합니다.

API는 클라이언트와 서버가 서로 상호작용을 하기 위한 인터페이스입니다. 앞서 말했던 것처럼, 클라이언트와 서버는 서로 적절히 상호작용을 해야한다고 했습니다. 서로의 상호작용에 도움을 줄 수 있는 아키텍처를 RESTful한 아키텍처라고 합니다. 어떤 방식으로 데이터를 접근할지 구체적으로 명시하는 것을 의미하죠. 그래서 RESTFul한 아키텍처를 따르는 API를 REST API라고 합니다.

HTTP 메서드CRUD설명사용 예
GETSELECT데이터 조회검색 및 접속
POSTCREATE데이터 생성가입, 글 작성(수행에 따라 결과 다름)
PUTUPDATE데이터 수정수정
DELETEDELETE데이터 삭제삭제

이때 가져올 리소스(URI)와 행위(Method)를 통해 구체적인 정보(Payload)를 담아 전달합니다.

REST API 실습

파이썬에서 제공하는 서드파티 라이브러리인 requests로 데이터를 추출하는 실습입니다.

import requests

target = "http://jsonplaceholder.typicode.com/users"
response = requests.get(url = target)

# 응답 데이터인 json 형식을 파이써 객체로 변환
data = response.json()

# 이름정보를 name_list라는 리스트에 담기
name_list = []
for user in data:
    name_list.append(user['name']) 

JSON

JSON

  • 데이터를 주고받는 데 사용하는 경량의 데이터 형식입니다.
  • 키-값 쌍으로 이루어진 데이터 객체를 저장하고 있습니다.
{
    "id" : "Ariana",
    "password" : "202203",
    "age" : 30,
    "hooby" : ["sing", "programming"]
}

JSON 인코딩 예시

파이썬 기본 자료형을 JSON 객체로 변환하는 작업을 말합니다. json.dumps() 메서드를 이용해 객체를 생성할 수 있습니다.

import json

# 사전 자료형(딕셔너리) 데이터 선언
user = {
    "id" : "Ariana",
    "password" : "202203",
    "age" : 30,
    "hooby" : ["sing", "programming"]
}

# 인코딩
json_data = json.dumps(user, indent = 4) # indent : 띄어쓰기 4칸 들여쓰기 적용
print(json_data)

# JSON 데이터로 변환하여 파일로 저장
with open("user.json", "w", encoding="utf-8") as file: 
    json.dump(user, file, indent = 4)

JSON 디코딩 예시

위 인코딩과 반대로 JSON 객체를 파이썬의 자료형으로 변환하는 작업을 말합니다. json.loads() 메서드를 이용합니다.

import json

# 디코딩
data = json.loads(json_data)
print(data)

0개의 댓글

관련 채용 정보