requests 라이브러리 기본 메뉴얼 정리
1. 개요
- requests 라이브러리는 Python에서 HTTP 요청을 쉽게 보낼 수 있도록 도와주는 라이브러리이다.
- REST API 호출, 웹 스크래핑, 데이터 전송 등 다양한 용도로 활용된다.
2. 설치 방법
pip install requests
3. 주요 기능 및 사용 방법
1) GET 요청
import requests
url = "https://jsonplaceholder.typicode.com/posts/1"
response = requests.get(url)
print(response.json())
2) POST 요청
url = "https://jsonplaceholder.typicode.com/posts"
data = {"title": "foo", "body": "bar", "userId": 1}
response = requests.post(url, json=data)
print(response.json())
3) PUT 요청 (전체 업데이트)
url = "https://jsonplaceholder.typicode.com/posts/1"
data = {"id": 1, "title": "updated title", "body": "updated body", "userId": 1}
response = requests.put(url, json=data)
print(response.json())
4) PATCH 요청 (부분 업데이트)
url = "https://jsonplaceholder.typicode.com/posts/1"
data = {"title": "patched title"}
response = requests.patch(url, json=data)
print(response.json())
5) DELETE 요청
url = "https://jsonplaceholder.typicode.com/posts/1"
response = requests.delete(url)
print(response.status_code)
6) 쿼리 파라미터 사용
url = "https://jsonplaceholder.typicode.com/posts"
params = {"userId": 1}
response = requests.get(url, params=params)
print(response.json())
7) 헤더 및 쿠키 설정
headers = {"User-Agent": "my-app"}
cookies = {"session_id": "123456"}
response = requests.get(url, headers=headers, cookies=cookies)
print(response.json())
8) 사용자 인증
from requests.auth import HTTPBasicAuth
url = "https://httpbin.org/basic-auth/user/pass"
response = requests.get(url, auth=HTTPBasicAuth("user", "pass"))
print(response.status_code)
9) 토큰 인증
headers = {"Authorization": "Bearer YOUR_ACCESS_TOKEN"}
response = requests.get(url, headers=headers)
print(response.status_code)
10) 응답 객체
response = requests.get(url)
print(response.status_code) # HTTP 상태 코드
print(response.headers) # 응답 헤더
print(response.text) # 응답 본문 (문자열)
print(response.json()) # JSON 응답 처리
11) 리디렉션 방지
response = requests.get(url, allow_redirects=False)
print(response.status_code)
12) JSON 데이터 처리
response = requests.get(url)
data = response.json()
print(data[0]["title"])
13) 추가 정리
1. HTML 파싱 :
- requests 라이브러리 자체에는 HTML 파싱 기능이 포함되어 있지 않다. 일반적으로 BeautifulSoup 같은 다른 라이브러리를 함께 사용하여 HTML을 파싱하게 된다.
2. JavaScript 실행 :
- requests 라이브러리는 HTTP 요청을 보내는 기능만을 제공하므로, 자바스크립트 코드를 실행할 수는 없다. 자바스크립트 실행이 필요한 경우에는 Selenium과 같은 웹 드라이버를 사용하는 것이 보다 적합할 수 있다.
3. 명시적, 암묵적 대기 :
- requests 라이브러리는 기본적으로 동기적인 요청을 보내므로, 명시적이거나 암묵적인 대기 기능은 제공하지 않는다. 웹 페이지가 완전히 로드된 후에 데이터를 가져오려면 다른 방법을 사용해야 할 수 있다.
4. 스크롤 제어, 키보드 입력, 클릭 :
- requests 라이브러리는 웹 브라우저를 제어하거나 인터랙티브한 작업을 수행할 수 없다. 이러한 작업이 필요한 경우에는 Selenium과 같은 라이브러리를 고려해야 한다.
- 따라서, requests 라이브러리는 간단한 HTTP 요청과 응답 처리에 유용하지만, 웹 스크래핑이나 자동화 작업에 있어서 다양한 기능을 지원하는 라이브러리가 필요할 수 있다.
- reference :
'Crawling' 카테고리의 다른 글
BeautifulSoup4 매뉴얼 정리 (0) | 2025.02.06 |
---|---|
Selenium 사용 매뉴얼 - 기본 사용 방법 정리 (0) | 2025.02.05 |
댓글