自动登录Github官网,cookie验证简单模拟登录

#不同网页有不同的cookie验证方式,具体情况不定得看情况,这个要一个一个测试,然后多多验证cookie的信息变化
import requests
from bs4 import BeautifulSoup
#导入相应的包

r1 = requests.get('https://github.com/login')
#网页上找到相应的登录url网页
s1 = BeautifulSoup(r1.text,'html.parser')
#解析网址得到text
token = s1.find(name='input',attrs={'name':'authenticity_token'}).get('value')
#验证token,找到登录的token
r1_cookie_dict = r1.cookies.get_dict()
#定义cookie,从第一次请求网页中得到cookie值
# print(token)
#打印token,获取token

r2 = requests.post(
#第二次requests请求,用post方法
    'https://github.com/session',
    #post方法请求这个网址url,这个怎么看出来的呢?
    #session网址url就是在你输入用户名密码,点击登录后的网址url,所以接下来post方法请求这个网址
    data ={
        "utf8": '✓',
        "authenticity_token": token,
        "login": '输入你自己的用户名',
        "password":'输入你自己的密码',
        "commit": 'Sign in'
    },
    #post方法不是提交东西后的请求吗?应该是有返回值的,不知道什么重要的情况下全都加上,
    cookies = r1_cookie_dict
    #带着第一次访问请求的cookie去,这个网址带有cookie验证
     )

r2_cookie_dict = r2.cookies.get_dict()
#得到第二次的cookie的值,从提交用户登录信息后返回的cookie
# print(r1.cookies)
# print(r2.cookies)
#分别打印第一次get方法请求的得到的cookie和第二次post提交信息之后得到的cookies
cookie_dict = {}
cookie_dict.update(r1_cookie_dict)
cookie_dict.update(r2_cookie_dict)
#两个cookies值综合成一个

r3 = requests.get(
#第三次请求就是解析想要网址url的数据了,因为已经登录了
     url = 'https://github.com/settings/emails',
     cookies = cookie_dict
    #携带综合后的cookie
     )
print(r3.text)
#打印第三次的访问解析网页信息

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值