Python Requests 라이브러리
Requests는 파이썬에서 HTTP 요청을 보내기 위한 간단하고 우아한 라이브러리입니다. 이 라이브러리는 HTTP/1.1 요청을 매우 쉽게 보낼 수 있게 해주며, 복잡한 작업들을 추상화하여 제공합니다.
pip install requests
Bash
복사
우리가 웹 브라우저로 인터넷을 사용할 때를 생각해보면, 주소창에 URL을 입력하거나 링크를 클릭하면 해당 웹사이트로 이동하게 됩니다. 이때 브라우저는 해당 URL로 요청을 보내고, 서버는 미리 준비된 웹페이지나 데이터를 응답으로 보내줍니다. 브라우저는 이 응답을 받아서 우리가 볼 수 있는 형태로 화면에 표시해주죠.
Requests 라이브러리는 이러한 브라우저의 역할을 프로그래밍적으로 수행할 수 있게 해줍니다. 즉, 파이썬 코드로 특정 URL에 요청을 보내고, 서버로부터 받은 응답을 처리할 수 있게 해주는 도구입니다.
예를 들어, 네이버에서 '날씨'를 검색하는 상황을 생각해보겠습니다. 브라우저에서는 주소창에 검색어를 입력하고 엔터를 누르면 되지만, Requests를 사용하면 이런 과정을 코드로 자동화할 수 있습니다.
import requests
# 네이버 날씨 페이지에 GET 요청 보내기
response = requests.get('https://search.naver.com/search.naver?query=날씨')
# 응답 확인
if response.status_code == 200:
print('페이지를 성공적으로 가져왔습니다!')
# 여기서 응답 내용(response.text)을 처리할 수 있습니다
Python
복사
이처럼 Requests는 우리가 평소에 브라우저로 하는 웹 검색, 로그인, 데이터 조회 등의 작업을 프로그램으로 자동화할 수 있게 해줍니다.
주요 HTTP 메서드
•
GET: 데이터를 요청할 때 사용
•
POST: 새로운 데이터를 서버에 전송할 때 사용
•
PUT: 기존 데이터를 수정할 때 사용
•
DELETE: 데이터를 삭제할 때 사용
GET과 POST를 가장 많이 사용
import requests
# GET 요청
response = requests.get('https://api.example.com/data')
# POST 요청
data = {'key': 'value'}
response = requests.post('https://api.example.com/post', json=data)
# 응답 확인
print(response.status_code) # 상태 코드
print(response.text) # 응답 내용
print(response.json()) # JSON 응답
Python
복사
1) GET 메서드
GET은 서버로부터 데이터를 '조회'하거나 '가져올' 때 사용하는 HTTP 메서드입니다. 웹 브라우저에서 일반적인 웹페이지를 열어볼 때 대부분 GET 요청을 사용합니다.
•
•
데이터 크기에 제한이 있음
•
북마크 가능하고 브라우저 히스토리에 남음
예를 들어, 네이버에서 검색하거나 블로그 글을 읽을 때 GET 요청이 사용됩니다.
2) POST 메서드
POST는 서버에 데이터를 '제출'하거나 '생성'할 때 사용하는 HTTP 메서드입니다. 로그인이나 회원가입 같이 민감한 정보를 전송할 때 주로 사용됩니다.
•
URL에 데이터가 노출되지 않음 (요청 본문에 포함)
•
데이터 크기 제한이 없음
•
캐시되지 않고 브라우저 히스토리에 남지 않음
예를 들어, 게시글 작성, 파일 업로드, 로그인 등의 작업에서 POST 요청이 사용됩니다.