본문 바로가기

Python/Crawling

[Python웹크롤링] Session 활성화와 Cookie 전송 받기

반응형

이번엔 웹 브라우저에 요청하고 데이터를 가져올 때 Session을 활성화 하는 방법과

https://httipbin.org

불러오는 중입니다...

위 홈페이지를 통해서 Cookie 정보를 이용해 쿠키정보를 수신하는 방법에 대해서 공부해 보려 한다.

Session 활성화

우선 requests를 import하고  s 라는 변수에 requests.Session() 으로 세션을 활성화 시켜준다. 그리고 

r 이라는 변수에 get 방식을 이용해 특정 url 을 할당시켜준다. 그리고 .text 함수를 사용해 데이터를

확인해본다. 뿐만 아니라 수신 받을 때 정상적으로 잘 받았는지 '200' 이라는 코드를 확인하기 위해 

.status_code 를 통해서 확인해 본다. 여기서 참고적으로 .ok 라는 함수를 이용해서도 수신 상태를 확인 해

볼 수 있다. (하지만 .ok 함수를 이용하면 정상 코드인 '200'을 출력받는게 아닌 부울형인 'True'로 출력된다.

그리고 마지막엔 .close() 로 세션을 비활성화 시켜준다. 왜냐하면 리소스 낭비를 막기 위해서이다.

 

Cookie 정보 송수신

다음은 세션을 활성화 시키고 쿠키 테스트 하는 유명한 사이트를 통해서 cookie 정보를 통해 쿠기 정보를 수신해 보자.

우선 get 방식을 이용해 해당 사이트 url 을 입력해주고 cookies라는 인자를 통해서 딕셔너리 방식처럼 입력해 준다.

그리고 .text를 이용해서 내용을 확인해 보자!

결과

 

with문을 이용한 세션활성화

다음은 맨 처음에 한 세션활성화 방법과는 달리 두번째 세션활성화 방법을 소개해보려고 한다.

바로 with문을 이용하는 것이다! with문의 장점은 requests.Session().close() 로 세션을 비활성화하는 코드를 따로 적을 필요가 없다는 것이다! 내부적으로 자동으로 close를 해주기 때문이다. 따라서 위에 38번부터 42번 코드를 간단하게

with문으로 코딩할 수 있는 것이다! 

 

반응형