python模拟登陆 验证码el_python 模拟登陆github的示例

# -*- coding: utf-8 -*-

# @Author: CriseLYJ

# @Date: 2020-08-14 12:13:11

import re

import requests

class GithubLogin(object):

def __init__(self, email, password):

# 初始化信息

self.headers = {

'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',

'Referer': 'https://github.com/',

'Host': 'github.com'

}

self.session = requests.Session()

self.login_url = 'https://github.com/login'

self.post_url = 'https://github.com/session'

self.email = email

self.password = password

def login_GitHub(self):

# 登录入口

post_data = {

'commit': 'Sign in',

'utf8': '✓',

'authenticity_token': self.get_token(),

'login': self.email,

'password': self.password

}

resp = self.session.post(

self.post_url, data=post_data, headers=self.headers)

print('StatusCode:', resp.status_code)

if resp.status_code != 200:

print('Login Fail')

match = re.search(r'"user-login" content="(.*?)"', resp.text)

user_name = match.group(1)

print('UserName:', user_name)

# Get login token

def get_token(self):

response = self.session.get(self.login_url, headers=self.headers)

if response.status_code != 200:

print('Get token fail')

return None

match = re.search(

r'name="authenticity_token" value="(.*?)"', response.text)

if not match:

print('Get Token Fail')

return None

return match.group(1)

if __name__ == '__main__':

email = input('Account:')

password = input('Password:')

login = GithubLogin(email, password)

login.login_GitHub()

登录效果

以上就是python 模拟登陆github的示例代码的详细内容,更多关于python 模拟登陆github的资料请关注随便开发网其它相关文章!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值