반응형
    
    
    
  파이썬으로 크롤링을 하다보면 requests의 Session의 쿠키(Cookie)를 새로운 Request의 헤더에 포함시켜야할 때가 있다.

이럴때 사용할 수 있는 방법을 소개하려고 한다.
먼저 session.cookies.get_dict()으로 현재 세션의 쿠키를 딕셔너리 형태로 가져온다.
session.cookies.get_dict()그 다음 그 쿠키들을 헤더의 Cookie 필드에 추가하기 위해 '; '.join([f'{name}={value}' for name, value in cookies.items()])로 변환한다.
'Cookie': '; '.join([f'{name}={value}' for name, value in cookies.items()])마지막으로 새로운 request에 해당 쿠키를 포함시켜서 post 혹은 get을 날려주면 된다.
request.get(url,headers=headers)
최종 코드는 다음과 같다.
import requests
# 세션 생성
session = requests.Session()
url = 'https://www.tistory.com'
resp = session.get(url)
# 세션에서 쿠키 값을 헤더에 넣기 위해 준비
cookies = session.cookies.get_dict()
# 쿠키를 헤더에 추가
headers = {
    'Cookie': '; '.join([f'{name}={value}' for name, value in cookies.items()])
}
# 헤더를 포함하여 새로운 요청 보내기
response = requests.get(url, headers=headers)
# 응답 출력
print(response.status_code)
print(response.text)
도움이 되셨다면 공감과 댓글부탁드립니다.
반응형
    
    
    
  'ETC > Tip' 카테고리의 다른 글
| Window에 vue를 설치해보자 (0) | 2021.09.05 | 
|---|---|
| sklearn 설치방법 (1) | 2020.11.25 | 
| 무료 로고(logo) 만들어주는 사이트 (0) | 2020.09.08 | 
| Github 사용하기 (0) | 2020.07.12 | 
| 윈도우 환경에서 git과 github 설치 및 설정 (0) | 2020.07.11 | 
 
                    
                   
                    
                   
                    
                  