반응형
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")
주의사항
- API 호출 시 항상 응답 상태 코드를 확인하세요.
- 대량의 요청을 보낼 때는 API의 사용 제한을 고려하세요.
- 민감한 정보(API 키 등)는 코드에 직접 포함하지 말고, 환경 변수 등을 활용 하세요.
결론
Requests 라이브러리를 사용하면 Python에서 쉽고 효율적으로 API를 호출할 수 있습니다. 이 글에서 다룬 기본적인 사용법을 바탕으로 다양한 API를 활용해 보세요. 더 복잡한 시나리오와 고급 기능이 필요하다면 Requests 공식 문서를 참조하는 것이 좋습니다.
반응형
'IT > Python' 카테고리의 다른 글
[Python] MySQL과 파이썬 연동하기 (0) | 2025.01.15 |
---|---|
[Python] SQLite와 파이썬 연동하기 (0) | 2025.01.14 |
[Python] BeautifulSoup을 이용한 웹 스크래핑 기초 (0) | 2025.01.14 |
[Python] TensorFlow 기초 : 딥러닝 모델 구현하기 (0) | 2025.01.14 |
[Python] Django 웹 프레임워크 기초 (1) | 2025.01.13 |