본문 바로가기

Creation/Python

[Python] 파이썬을 이용한 Cookie 유지방법

요즘들어 한창 Data minining과 Parsing에 눈이 떠서, 개인적으로 공부중인데 시작을 어떻게 해야할지 감을 잡지 못하다가 나와 같은 일로 고민하는 분들을 위해 올려보았다.


웹프로그래밍에서 가장 중요한 것은?

자신이 컨텐츠를 제작할 것이 아니라면 컨텐츠를 '가져' 오는 것이 가장 중요한 작업일 것이다.

그럴려면 Cookie 유지가 절대적이다. 몇가지 방법을 살펴보겠다.

시작하기 전에 기본적으로

1
2
import urllib
import urllib2

는 삽입해주고 가자.

1. 서버에 Request 보내서 Cookie값 얻기

1
2
3
4
5
6
login_form = {"id":"아이디", "pw":"암호"}
login_req = urllib.urlencode(login_form)
request = urllib2.Request(url, login_req)
response = urllib2.urlopen(request)
cookie = response.headers.get('Set-Cookie')

일단 Request 보내는 건 위와 같다. 로그인 성공시에 Set-Cookie라는 Header값으로 Cookie가 넘어올 경우에 저렇게 되는 것이고, 만약 아니라면?.. Chrome의 개발자도구를 사용해서 (F12) 값을 찾아야지.


2. 서버에 받은 Cookie값을 다시 넘겨서 Session 유지하기

1
2
3
4
5
6
request = urllib2.Request(url)
request.add_header('cookie', cookie)
response = urllib2.urlopen(request)
 
data = response.read()

이러면 이제 끝이다. data변수에 Response를 저장했다.

여기서 얻은 Data를 Parsing하든 뭘하든 이제 작업의 시발점이 될 것이다.


다음에 구체적인 예제로 한번 놀아보도록 하겠다.