파이썬

크롤러 만들기: session 처리 필요한 경우

wangkisa 2021. 7. 21. 19:01

 

크롤링을 하다 보면 

 

cookies = {
'_ga': 'GA1.1.1~~~~~~',
'csrf_cookie': 'hgjieofj92ejodijfsdf2323kb39',
'sessionid': 'hgjieofj92ejodijfsdf2323kb39',
~~
}

 

처럼 sessionid 라는 값을 보내야만 데이터를 받을 수 있는 사이트 들이 있다.

이런 경우는 대부분 로그인 을 한 후, 해당 서버의 session id 값으로 진행을 하기 때문에

일반적인 request 호출을 해서는 해당 session id 값을 알기가 어렵다.

 

파이썬에서 해당 session을 사용하는 방법은 다음과 같다.

 

import requests

# Session 생성
s = requests.Session()

# 여기서 부터 requests 대신 s 객체를 사용
req = s.get('https://www.가져올 사이트 url')

 

이렇게 사용하시고, 

해당 s 객체에서 다른 csrf 토큰 값이나 로그인에 필요한 값을 가져온 후,

로그인을 한 이후에, session id 값을 가져와 사용하면 된다.

 

session id 값을 가져오기 위해서는 

 

s.cookies['sessionid']

 

으로 가져와 값을 찍어보면

다음과 같은 값을 확인이 된다.

k2pfsd78dshdwwweligkmqt