개발/Python 프로젝트: 주식 자동 매매

[주식 자동 매매] 2. requests 모듈 사용법

honeypeach 2025. 12. 20. 20:23

✅ 파이썬 requests 모듈 사용법 정리

- 왜 requests 모듈이 필요할까?

요즘 파이썬은 단순한 계산을 넘어서 웹 서비스, API, 외부 서버와 통신하는 데 많이 사용됩니다.
예를 들어 다음과 같은 작업들이 있습니다.

  • 외부 API에서 데이터 가져오기
  • 서버에 데이터 등록하기
  • 웹 서비스와 데이터 주고받기
  • 크롤링 및 자동화 스크립트 작성

이런 작업을 하려면 HTTP 요청(GET, POST 등) 을 직접 만들어 서버로 보내야 합니다.
하지만 이를 직접 구현하면 코드가 복잡하고 이해하기도 어렵습니다.

👉 requests 모듈은 이런 문제를 해결해 주는 파이썬 라이브러리로,
몇 줄의 코드만으로 웹 서버와 쉽게 통신할 수 있도록 도와줍니다.


- 왜 requests 모듈을 사용할까?

requests 모듈이 널리 사용되는 이유는 다음과 같습니다.

  • 파이썬에서 가장 많이 사용되는 HTTP 라이브러리
  • 문법이 간단하고 직관적
  • JSON 데이터를 파이썬 딕셔너리 형태로 바로 사용 가능
  • GET, POST 등 다양한 요청을 쉽게 처리 가능

초보자부터 실무 개발자까지 모두 사용하는 필수 라이브러리입니다.


✅ 실습 예제로 배우는 requests 모듈

1. requests 모듈 설치 및 기본 GET 요청

import requests

url = "https://learn.codeit.kr/api/avatars"
res = requests.get(url)

try:
    data = res.json()
    print(data)
except Exception as e:
    print(e)

코드 설명

  • import requests
    → requests 모듈 불러오기
  • requests.get(url)
    → 브라우저에서 URL을 입력한 것과 같은 GET 요청
  • res.json()
    → JSON 응답을 파이썬 딕셔너리로 변환

API 서버가 JSON 형태로 데이터를 주는 경우 가장 기본적으로 사용하는 방식입니다.


2. 쿼리 파라미터 보내기 (데이터 일부만 가져오기)

API에서 데이터를 한꺼번에 받지 않고, 원하는 만큼만 받아오고 싶을 때 쿼리 파라미터를 사용합니다.

params = {
    "limit": 5,
    "offset": 10
}

res = requests.get(url, params=params)
data = res.json()
print(data)

쿼리 파라미터 설명

  • limit : 가져올 데이터 개수
  • offset : 몇 번째 데이터부터 가져올지 지정

파이썬 딕셔너리 형태로 전달하면 requests가 자동으로 URL에 붙여줍니다.


3. POST 요청으로 데이터 보내기 (새 데이터 등록)

이번에는 서버에 새 데이터를 등록해보겠습니다.
POST 요청은 데이터를 body에 담아서 서버로 전송합니다.

headers = {
    "Content-Type": "application/json"
}

body = {
    "hairType": "short2",
    "hairColor": "brown",
    "skin": "tone200",
    "clothes": "hoodie",
    "accessories": "earbuds"
}

res = requests.post(url, headers=headers, json=body)
print(res.json())

코드 설명

  • headers
    → 서버에 JSON 데이터를 보낸다는 정보 전달
  • json=body
    → 파이썬 딕셔너리를 JSON으로 자동 변환하여 body에 포함
  • requests.post()
    → 서버에 데이터 등록 요청

POST 요청은 회원가입, 게시글 작성, 데이터 생성 등에 자주 사용됩니다.


4. f-string으로 동적 URL 다루기

데이터를 생성하면 서버에서 id 값을 반환합니다.
 id를 사용해 특정 데이터를 다시 조회할 수 있습니다.

avatar_id = 10
url = f"https://learn.codeit.kr/api/avatars/{avatar_id}"

res = requests.get(url)
print(res.json())

f-string 사용 이유

  • URL에 변수 값을 쉽게 삽입 가능
  • 코드 가독성 향상
  • 재사용성과 유지보수에 유리

API를 다룰 때 거의 필수로 사용하는 패턴입니다.


정리

requests 모듈은 API와 소통하기 위한 가장 쉽고 강력한 파이썬 라이브러리입니다.

  • GET 요청으로 데이터 조회
  • 쿼리 파라미터로 필요한 데이터만 요청
  • POST 요청으로 서버에 데이터 등록
  • f-string을 활용한 동적 API 호출

이러한 기능들을 활용하면
크롤링, 백엔드 통신, 외부 Open API 활용 등 다양한 작업을 효율적으로 처리할 수 있습니다.

👉 파이썬으로 웹과 통신하고 싶다면, requests 모듈은 반드시 익혀야 할 필수 도구입니다.

728x90