爬虫----模拟用户登录gitHub

 #第二次请求:带着初始cookie和TOKEN发送POST请求给登录页面,带上账号密码
 data={
     'commit':'Sign in',
     'utf8':'✓',
     'authenticity_token':authenticity_token,
     'login':'[email protected]',
     'password':'alex3714'
 }
 r2=requests.post('https://github.com/session',
              data=data,
              cookies=r1_cookie
              )
 
 
 login_cookie=r2.cookies.get_dict()
 
 
 #第三次请求:以后的登录,拿着login_cookie就可以,比如访问一些个人配置
 r3=requests.get('https://github.com/settings/emails',
                 cookies=login_cookie)
 
 print('[email protected]' in r3.text) #True

  

利用 requests.session,自动保存cookie

import requests
import re

session=requests.session()
#第一次请求
r1=session.get('https://github.com/login')
authenticity_token=re.findall(r'name="authenticity_token".*?value="(.*?)"',r1.text)[0] #从页面中拿到CSRF TOKEN

#第二次请求
data={
    'commit':'Sign in',
    'utf8':'✓',
    'authenticity_token':authenticity_token,
    'login':'[email protected]',
    'password':'alex3714'
}  
r2=session.post('https://github.com/session',
             data=data,
             )

#第三次请求
r3=session.get('https://github.com/settings/emails')
print('[email protected]' in r3.text) #True
requests.session()自动帮我们保存cookie信息

  

猜你喜欢

转载自www.cnblogs.com/yanxiaoge/p/10633773.html