Python 파충 류 는 스 크 립 트 를 사용 하여 Github 에 로그 인하 고 정 보 를 봅 니 다.

선언 분석 목표 사이트 의 로그 인 방식
대상 주소:https://github.com/login   
로그 인 방식 분석:
첫째,form 폼 으로 정 보 를 제출 하고,
둘째,csrftoken,
셋째,post 로 사용자 이름과 비밀 번 호 를 요청 할 때 첫 번 째 get 요청 이 필요 한 쿠키 입 니 다.
넷 째,로그 인 에 성공 한 후 다른 페이지 에 요청 하 는 것 은 첫 번 째 로그 인 에 성공 한 후에 돌아 오 는 쿠키 만 가 져 오 면 됩 니 다.
get 에서 보 낸 요청 으로 원 하 는 token 과 쿠키 를 가 져 옵 니 다.


코드:

import requests  
from bs4 import BeautifulSoup
r1 = requests.get('https://github.com/login')
soup = BeautifulSoup(r1.text,features='lxml') #  soup   
s1 = soup.find(name='input',attrs={'name':'authenticity_token'}).get('value') 
#      token
r1_cookies = r1.cookies.get_dict() #           cookie
# print(r1_cookies)  
# print(s1)
\#결과:

{'logged_in': 'no', '_gh_sess': 'VDFWa2hJWjFMb1hpRUFLRDVhUmc3MXg1Tk02TDhsUnhDMERuNGpyT2Y4STlQZ2xCV1lCZEFhK21wdFR1bkpGYUV0WEJzcDEydWFzcm93
aVc4Nk91Q2JicmtRV0NIQ0lRSWM4aFhrSVFYbCtCczBwdnhVN0YySVJJNUFpQnhyTzNuRkJwNDJZUWxUcEk2M2JkM3VSMDdXVHNOY1htQkthckJQZDJyUVR2RzBNUkU3VnltRVF2U
m1admU3c3YzSGlyVnVZVm0ycnA1eUhET1JRVWNLN0pSbndKWjljMGttNG5URWJ1eU8rQjZXNEMxVEthcGVObDFBY2gvc2ZzWXcvWWZab29wQWJyU0l6cmZscWhBQUlzYTA3dTRtb
3l1S0hDYytHY2V1SUhEWlZvVlZoSWZpTzBjNmlidFF2dzI2bWgtLTJON1lqbm5jWUtSYmtiVEM1clJPakE9PQ%3D%3D--897dbc36c123940c8eae5d86f276dead8318fd6c'}
pRz0wapEbu5shksGCeSN0FijWoU9ALw8EPUsXlqgcw1Ezirl0VbSKvkTYqIe8VhxhPH2H/uzGaV6XX+yjTGoVA==
이 두 값 을 가 져 오 면 다음 로그 인 요청 을 보 낼 수 있 습 니 다:
두 번 째 post 방식 으로 사용자 이름 비밀번호 제출


코드:
이 코드 는 위의 get 요청 에 이 어 post 요청 부분 일 뿐 입 니 다.

r2 = requests.post(
  'https://github.com/session',
  data ={
    'commit':'Sign in',
    'utf8':'✓',
    'authenticity_token':s1,
    'login':'[email protected]',
    'password':'     '         #           
  },
  cookies = r1.cookies.get_dict(),    #         cookie
)
print(r2.cookies.get_dict())   #         cookie
성공 하면 로그 인 페이지 의 정 보 를 되 돌려 줍 니 다.
post 로그 인 성공 후 개인 정보 페이지 를 봅 니 다.
여 기 는 로그 인 에 성공 한 쿠키 만 가지 고 오시 면 됩 니 다.
\#전체 코드

import requests
from bs4 import BeautifulSoup
r1 = requests.get('https://github.com/login')
soup = BeautifulSoup(r1.text,features='lxml')
s1 = soup.find(name='input',attrs={'name':'authenticity_token'}).get('value')
r1_cookies = r1.cookies.get_dict()
print(r1_cookies)
print(s1)
r2 = requests.post(
  'https://github.com/session',
  data ={
    'commit':'Sign in',
    'utf8':'✓',
    'authenticity_token':s1,
    'login':'[email protected]',
    'password':'  '
  },
  cookies = r1.cookies.get_dict(),
)
개인 정보 페이지 보기

print(r2.cookies.get_dict())
 r3 = requests.get(
    'https://github.com/13131052183/product',  #        
    cookies = r2.cookies.get_dict()
 )
 print(r3.text)
총결산
위 에서 말 한 것 은 소 편 이 소개 한 Python 파충류 가 스 크 립 트 를 이용 해 Github 에 로그 인하 고 정 보 를 확인 하 는 데 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 이 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기