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 | 설명 | 사용 예 |
---|---|---|---|
GET | SELECT | 데이터 조회 | 검색 및 접속 |
POST | CREATE | 데이터 생성 | 가입, 글 작성(수행에 따라 결과 다름) |
PUT | UPDATE | 데이터 수정 | 수정 |
DELETE | DELETE | 데이터 삭제 | 삭제 |
이때 가져올 리소스(URI)와 행위(Method)를 통해 구체적인 정보(Payload)를 담아 전달합니다.
파이썬에서 제공하는 서드파티 라이브러리인 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'])
{
"id" : "Ariana",
"password" : "202203",
"age" : 30,
"hooby" : ["sing", "programming"]
}
파이썬 기본 자료형을 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.loads()
메서드를 이용합니다.
import json
# 디코딩
data = json.loads(json_data)
print(data)