본문 바로가기
Language/Python

[Python] requests 라이브러리

by 클레어몬트 2025. 2. 17.

ㅇrequests 라이브러리: Python에서 HTTP 요청을 보내기 위해 가장 널리 사용되는 라이브러리

 

웹 페이지의 데이터를 가져오거나, API 요청을 보내고 응답을 받을 때 주로 사용된다. 간단한 코드 작성만으로도 HTTP 요청을 쉽게 처리할 수 있기 때문에, Python 개발자들에게 필수적인 라이브러리 중 하나이다.

 

 

[requests 라이브러리 주요 기능]

GET 요청 - 웹(서버)에서 데이터 가져오기

import requests

response = requests.get("https://api.github.com")
print(response.status_code)  # 응답 코드 출력 (e.g. 200)
print(response.json())  # JSON 응답 출력
  1. requests.get()을 사용하여 지정된 URL에서 데이터를 가져온다
  2. response.status_code를 확인하면 응답 상태를 알 수 있다
  3. response.json()을 호출하면 JSON 응답을 파싱하여 Python 딕셔너리로 변환할 수 있다

 

POST 요청 - 웹(서버)에 데이터 전송하기

import requests

url = "https://example.com/api"
data = {"name": "John", "age": 30}

response = requests.post(url, json=data)
print(response.status_code)  # 응답 코드 출력
print(response.json())  # 응답 데이터 출력
  1. requests.post()를 사용하여 서버로 데이터를 전송한다
  2. json=data를 전달하여 JSON 형식으로 데이터를 전송할 수 있다
  3. 응답을 받아 상태 코드와 내용을 출력할 수 있다

 

웹에서 파일 다운로드하기

import requests

image_url = "https://example.com/image.jpg"
response = requests.get(image_url)

with open("downloaded_image.jpg", "wb") as file:
    file.write(response.content)
  1. requests.get()을 사용하여 이미지 URL에서 데이터를 가져온다
  2. response.content를 사용하여 이진 데이터(바이너리)를 저장한다
  3. wb 모드로 파일을 열어 데이터를 저장한다

 

(requests 라이브러리 설치 커맨드)

※ requests 라이브러리는 Python의 표준 라이브러리가 아니다

pip install requests

 

 

 

(참고)

requests는 Python에서 사용되는 HTTP 요청 라이브러리이지만, 다른 프로그래밍 언어에서도 유사한 기능을 제공하는 라이브러리가 존재한다.

requests와 다른 언어의 HTTP 요청 라이브러리 비교

 

 

(활용 가능 사례)
- API 연동
OpenAI API, GitHub API, 날씨 API 등 다양한 외부 API와 연동하여 데이터를 주고받을 수 있다
- 웹 스크래핑
BeautifulSoup과 함께 사용하면 웹 페이지에서 데이터를 추출할 수 있다
- 자동화 스크립트 개발
반복적인 웹 요청을 자동화하는 스크립트를 작성할 때 유용하다

'Language > Python' 카테고리의 다른 글

[Python] 코드 린터 도구: Flake8, Pylint  (1) 2025.03.04
[Python] 로그 관리(logging 라이브러리)  (0) 2025.03.04