728x90
파이썬으로 크롤링을 하다보면 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)
도움이 되셨다면 공감과 댓글부탁드립니다.
728x90
'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 |