IT/Python

[Python] Requests 라이브러리를 활용한 API 호출하기

멋진 선배 2025. 1. 14. 12:21
반응형

 Python에서 가장 많이 사용하는 HTTP 라이브러리인 Requests를 활용하여 API를 호출하는 방법에 대해서 알아보도록 하겠습니다.

Requests 라이브러리 소개

Requests는 Python에서 HTTP 요청을 보내기 위한 간단하고 직관적인 라이브러리 입니다. 웹 스크래핑, API 통합, 데이터 수집 등 다양한 웹 관련 작업에 널리 사용 됩니다.

설치하기

먼저 Requests 라이브러리를 설치해야 합니다. 다음 명령어를 사용하여 pip로 쉽게 설치할 수 있습니다.

pip install requests

기본사용법

Requests를 사용하여 API를 호출하는 기본적인 방법을 살펴보겠습니다.

 

GET 요청

GET 요청은 서버로부터 데이터를 조회할 때 사용합니다.

import requests

url = "https://api.example.com/data"
response = requests.get(url)

if response.status_code == 200:
    data = response.json()
    print(data)
else:
    print("Error:", response.status_code)

 

POST 요청

POST 요청은 서버에 데이터를 전송할 때 사용 합니다.

import requests

url = "https://api.example.com/create"
data = {"name": "John", "age": 30}
response = requests.post(url, json=data)

if response.status_code == 201:
    print("Data created successfully")
else:
    print("Error:", response.status_code)

고급기능

헤더 추가

API호출 시 인증 토근이나 기타 정보를 헤더에 포함해야 할 때가 있습니다.

headers = {"Authorization": "Bearer YOUR_TOKEN"}
response = requests.get(url, headers=headers)

 

파라미터 전달

URL에 쿼리 파라미터를 추가할 때는 params 인자를 사용합니다.

params = {"q": "python", "sort": "stars"}
response = requests.get(url, params=params)

 

에러 처리

API 호출 시 발생할 수 있는 다양한 에러를 처리하는 것이 중요 합니다.

try:
    response = requests.get(url)
    response.raise_for_status()
except requests.exceptions.HTTPError as err:
    print(f"HTTP 에러 발생: {err}")
except requests.exceptions.RequestException as err:
    print(f"요청 에러 발생: {err}")

 

실제  API 호출 예제

 GitHub API를 사용하여 특정 사용자의 저장소 정보를 가져오는 예제를 살펴보겠습니다.

import requests

def get_github_repos(username):
    url = f"https://api.github.com/users/{username}/repos"
    response = requests.get(url)
    
    if response.status_code == 200:
        repos = response.json()
        for repo in repos:
            print(f"Repository: {repo['name']}")
            print(f"Description: {repo['description']}")
            print(f"Stars: {repo['stargazers_count']}")
            print("---")
    else:
        print(f"Error: {response.status_code}")

get_github_repos("octocat")

주의사항

  1. API 호출 시 항상 응답 상태 코드를 확인하세요.
  2. 대량의 요청을 보낼 때는 API의 사용 제한을 고려하세요.
  3. 민감한 정보(API 키 등)는 코드에 직접 포함하지 말고, 환경 변수 등을 활용 하세요.

결론

Requests 라이브러리를 사용하면 Python에서 쉽고 효율적으로 API를 호출할 수 있습니다. 이 글에서 다룬 기본적인 사용법을 바탕으로 다양한 API를 활용해 보세요. 더 복잡한 시나리오와 고급 기능이 필요하다면 Requests 공식 문서를 참조하는 것이 좋습니다.

반응형