파이썬에서 웹 데이터를 가져오거나 웹 API를 사용할 때, requests 모듈은 필수적인 도구입니다. requests 모듈은 간결하고 우아한 API를 제공하여 다양한 HTTP 요청을 쉽게 수행할 수 있게 해줍니다.
requests 모듈의 장점
- 간결한 API: requests 모듈은 복잡한 코드를 작성하지 않고도 다양한 HTTP 요청을 수행할 수 있습니다.
- 다양한 기능: GET, POST, PUT, DELETE 등 다양한 HTTP 메서드를 지원하며, 인증, 쿠키, 헤더 등 다양한 기능을 제공합니다.
- 자동 JSON 파싱: JSON 응답을 자동으로 파싱하여 사용하기 쉽게 해줍니다.
- 오류 처리: HTTP 오류를 처리하는 데 도움이 되는 기능을 제공합니다.
requests 모듈 사용 방법
requests 모듈을 사용하기 위해서는 다음과 같이 pip 명령어를 사용하여 설치해야 합니다.
pip install requests
설치 후, 다음과 같은 기본적인 코드로 HTTP GET 요청을 수행할 수 있습니다.
import requests
response = requests.get("https://www.naver.com")
if response.status_code == 200:
print(response.text)
else:
print("Error:", response.status_code)
이 코드는 https://www.naver.com에 GET 요청을 보내고 응답을 받습니다. 응답 상태 코드가 200 (성공)이면 응답 본문을 출력하고, 그렇지 않으면 에러 메시지를 출력합니다.
다양한 기능
requests 모듈은 GET 요청 외에도 다양한 기능을 제공합니다.
- POST 요청: 데이터를 서버에 보낼 수 있습니다.
- PUT, DELETE 요청: 데이터를 수정하거나 삭제할 수 있습니다.
- 인증: 기본 인증, OAuth 등 다양한 인증 방법을 지원합니다.
- 쿠키: 쿠키를 사용하여 세션을 유지할 수 있습니다.
- 헤더: 헤더를 사용하여 요청에 추가적인 정보를 포함할 수 있습니다.
- JSON 지원: JSON 응답을 자동으로 파싱하여 사용할 수 있습니다.
예시
다음은 requests 모듈을 사용하여 실제 웹 API를 사용하는 예시입니다.
import requests
url = "https://api.github.com/users/bard"
headers = {"Authorization": "token YOUR_GITHUB_TOKEN"}
response = requests.get(url, headers=headers)
if response.status_code == 200:
data = response.json()
print(data["name"])
else:
print("Error:", response.status_code)
이 코드는 GitHub API를 사용하여 사용자 정보를 가져옵니다. 사용자 토큰을 입력하고, 헤더에 토큰을 포함하여 인증을 수행합니다. 응답이 성공하면 사용자 이름을 출력합니다.