[Python3] requests 기반 웹 클라이언트

Alexandria·2024년 3월 3일

Python3 Advanced

목록 보기
23/27
post-thumbnail

1. URL 파싱

requests는 HTTP Method 별로 다른 함수를 호출하여 접속할 수 있습니다.

import requests

response    = requests.get(url="https://www.google.com")
print(response.status_code)
print(response.text)

Method 별로 다른 함수를 호출하기에는 불편할 수 있지만

getattr을 이용하면 문자열로 함수를 호출할 수 있기 때문에

다음과 같이 한 줄의 코드로 다양한 Method를 호출할 수 있습니다.

import requests

method  = "post"
url     = "https://www.google.com"
data    = {"id":"test"}
cookies = {"test":"test"}
response    = getattr(requests, method)(url=url, data=data, cookies=cookies)
print(response.cookies.get_dict())

2. 세션

단순 requests를 이용한 접속을 하면 다른 페이지에서

쿠키를 통한 인증 과정에 불편함을 느낄 수 있습니다.

하지만 Session을 이용하면 쿠키요청에 자동으로 실어서 이용할 수 있습니다.

import requests

method  = "post"
url1    = "https://www.example.com/login"
url2    = "https://www.example.com/users"
data    = {"id":"test"}

with requests.Session() as session:
    session.post(url=url1, data=data)
    session.get(url=url2)
profile
IT 도서관

0개의 댓글