ㅇ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 응답 출력
- requests.get()을 사용하여 지정된 URL에서 데이터를 가져온다
- response.status_code를 확인하면 응답 상태를 알 수 있다
- 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()) # 응답 데이터 출력
- requests.post()를 사용하여 서버로 데이터를 전송한다
- json=data를 전달하여 JSON 형식으로 데이터를 전송할 수 있다
- 응답을 받아 상태 코드와 내용을 출력할 수 있다
웹에서 파일 다운로드하기
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)
- requests.get()을 사용하여 이미지 URL에서 데이터를 가져온다
- response.content를 사용하여 이진 데이터(바이너리)를 저장한다
- wb 모드로 파일을 열어 데이터를 저장한다
(requests 라이브러리 설치 커맨드)
※ requests 라이브러리는 Python의 표준 라이브러리가 아니다
pip install requests
(참고)
requests는 Python에서 사용되는 HTTP 요청 라이브러리이지만, 다른 프로그래밍 언어에서도 유사한 기능을 제공하는 라이브러리가 존재한다.
(활용 가능 사례)
- API 연동
OpenAI API, GitHub API, 날씨 API 등 다양한 외부 API와 연동하여 데이터를 주고받을 수 있다
- 웹 스크래핑
BeautifulSoup과 함께 사용하면 웹 페이지에서 데이터를 추출할 수 있다
- 자동화 스크립트 개발
반복적인 웹 요청을 자동화하는 스크립트를 작성할 때 유용하다
'Language > Python' 카테고리의 다른 글
[Python] 코드 린터 도구: Flake8, Pylint (1) | 2025.03.04 |
---|---|
[Python] 로그 관리(logging 라이브러리) (0) | 2025.03.04 |