>  기사  >  백엔드 개발  >  쿠키 소개 및 시뮬레이션된 로그인 시연

쿠키 소개 및 시뮬레이션된 로그인 시연

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼앞으로
2019-06-05 17:09:272988검색

Cookie 타오바오에서 쇼핑할 때 추천하는 상품은 쿠키의 명작입니다. .

이전 기사에서는 Selenium+PhantomJs의 기본 작동에 대해 설명했습니다. 오늘은 Cookie에 대한 소개와 시뮬레이션된 로그인 데모를 가져왔습니다.

쿠키 소개 및 시뮬레이션된 로그인 시연

쿠키란 무엇인가요?

컴퓨터 용어로 웹사이트 서버가 소량의 데이터를 클라이언트의 하드 드라이브에 저장하는 방식을 말합니다. 또는 메모리 또는 클라이언트의 하드 드라이브에서 데이터를 읽는 기술입니다.

크롬 개발자 도구(F12)를 열고 네트워크를 클릭한 후 요청 URL을 클릭하면 요청 헤더(Request Headers)에서 쿠키 정보를 확인할 수 있습니다. 물론 위의 응답 헤더에서 Set-Cookie 정보를 볼 수 있는데, 이는 쿠키 범위, 시간 등과 같이 서버가 브라우저에 쿠키를 설정하는 것에 대한 일부 정보입니다.

쿠키 사용

사용자의 로그인 정보를 저장하여 사용자 탐색 공간을 저장합니다. 🎜🎜# 쿠키는 서버가 클라이언트에 저장하는 정보입니다. 이 정보는 서버에 의해 생성되고 서버에 의해 해석됩니다.

요청 시 클라이언트는 시간이 정해지지 않은 쿠키를 서버에 보내야 합니다. 서버는 사용자 정보를 확인하기 위해 쿠키를 구문 분석해야 합니다.

저희 브라우저는 귀하가 웹을 검색할 때마다 자동으로 쿠키를 저장합니다. 예를 들어, 브라우저 검색 기록 지우기를 열면 쿠키 정보가 있습니다.

쿠키는 우리에게 많은 편리함을 가져다줍니다. 쿠키는 우리가 탐색한 흔적과 페이지에 머문 시간도 기록할 수 있습니다. 예를 들어, 귀하가 Taobao에 열광하는 경우, 귀하가 어떤 제품을 검색했는지 파악하기 위해 귀하가 좋아하는 제품에 대한 Taobao의 추천이 귀하의 쿠키를 기반으로 생성됩니다.

시뮬레이트된 로그인 시연

Zhihu를 예로 들어 보겠습니다. https://www.zhihu.com/people/yu-kun-73/answers

이 URL은 내 Zhihu 정보 페이지입니다. 물론 자신의 Zhihu 페이지를 예로 사용할 수도 있습니다. 직접 방문하면 위에 로그인 버튼이 보이는데 저는 이미 로그인해서 접속하고 있는 상태입니다. 로그인 버튼은 표시되지 않지만 개인 편집 프로필에 대한 일부 링크는 표시되지 않습니다.

그럼 크롤러를 사용하여 액세스하면 어떨까요?

import requests
 
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'
}
url = 'https://www.zhihu.com/people/yu-kun-73/answers'
resp = requests.get(url, headers=headers).text
print(resp)

인쇄된 결과를 보면 html 코드에 로그인 버튼이 있는 것을 확인할 수 있습니다. 이는 우리가 이 페이지에 로그인하지 않았음을 증명합니다. 따라서 데이터를 크롤링하기 위해 로그인 계정이 필요한 일부 웹사이트를 크롤링하는 경우 로그인 문제를 해결해야 합니다. 그럼 로그인을 구현하는 방법.

답은 우리 쿠키입니다. 이전 기사에서 요청 라이브러리는 쿠키를 처리할 때 매우 간단하다고 말했습니다. 'User-Agent'를 추가한 것처럼 요청 쿠키만 추가하면 됩니다.

import requests
 
headers = {
    'Cookie': # 你的登录过后的浏览器cookies,
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'
}
url = 'https://www.zhihu.com/people/yu-kun-73/answers'
resp = requests.get(url, headers=headers).text
print(resp)

다시 인쇄정보를 보면 개인정보 수정 링크가 보입니다. 이는 성공적으로 로그인되었음을 의미합니다. 아주 간단하지 않나요? 걱정하지 마세요. 어려운 부분은 나중에 올 것입니다.

드디어

따라서 정보를 얻기 위해 로그인이 필요한 Sina Weibo와 같은 일부 복잡한 웹사이트에 로그인하려는 경우 쿠키를 사용하여 로그인하는 것은 절대 작동하지 않습니다. 이러한 웹사이트는 일부 웹사이트의 알고리즘을 자주 업데이트하므로 당사의 쿠키는 잠시 후 만료되므로 이러한 웹사이트의 로그인 페이지에 로그인 정보를 게시해야 합니다.

이러한 로그인 정보 매개변수는 일반적으로 로그인 페이지의 요청 헤더 아래에 있는 양식 데이터에 저장됩니다. 이 정보를 게시하는 한 원활하게 로그인할 수 있습니다. 하지만 인증 코드가 나타나면 매우 번거로운 일이 될 것입니다. 인증 코드 문제는 항상 크롤러 테스트의 문턱이었습니다.

위 내용은 쿠키 소개 및 시뮬레이션된 로그인 시연의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제