python 模拟登陆github的示例


Posted in Python onDecember 04, 2020
# -*- 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的示例代码的详细内容,更多关于python 模拟登陆github的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python正则表达式介绍
Aug 06 Python
python条件和循环的使用方法
Nov 01 Python
解决Python字典写入文件出行首行有空格的问题
Sep 27 Python
Python3 处理JSON的实例详解
Oct 29 Python
Python基于Flask框架配置依赖包信息的项目迁移部署
Mar 02 Python
Python中判断输入是否为数字的实现代码
May 26 Python
python机器学习库scikit-learn:SVR的基本应用
Jun 26 Python
Python 实现Numpy中找出array中最大值所对应的行和列
Nov 26 Python
python之MSE、MAE、RMSE的使用
Feb 24 Python
简单了解python调用其他脚本方法实例
Mar 26 Python
简单了解python关键字global nonlocal区别
Sep 21 Python
Django和Ueditor自定义存储上传文件的文件名
Feb 25 Python
python中round函数保留两位小数的方法
Dec 04 #Python
python中pow函数用法及功能说明
Dec 04 #Python
python对输出的奇数偶数排序实例代码
Dec 04 #Python
python中entry用法讲解
Dec 04 #Python
利用python制作拼图小游戏的全过程
Dec 04 #Python
pycharm 2020.2.4 pip install Flask 报错 Error:Non-zero exit code的问题
Dec 04 #Python
利用python如何实现猫捉老鼠小游戏
Dec 04 #Python
You might like
php file_put_contents()功能函数(集成了fopen、fwrite、fclose)
2011/05/24 PHP
JavaScript高级程序设计 阅读笔记(十八) js跨平台的事件
2012/08/14 Javascript
JS中如何设置readOnly的值
2013/12/25 Javascript
解析jQuery的三种bind/One/Live事件绑定使用方法
2013/12/30 Javascript
用js替换除数字与逗号以外的所有字符的代码
2014/06/07 Javascript
jQuery 仿百度输入标签插件附效果图
2014/07/04 Javascript
jQuery基于图层模仿五星星评价功能的方法
2015/05/07 Javascript
jquery ajax 如何向jsp提交表单数据
2015/08/23 Javascript
Bootstrap3 多选和单选框(checkbox)
2016/12/29 Javascript
js鼠标经过tab选项卡时实现切换延迟
2017/03/24 Javascript
angular6.x中ngTemplateOutlet指令的使用示例
2018/08/09 Javascript
node 文件上传接口的转发的实现
2019/09/23 Javascript
[04:28]2014DOTA2国际邀请赛 采访小兔子LGD挺进钥匙体育馆
2014/07/14 DOTA
跟老齐学Python之开始真正编程
2014/09/12 Python
Python中转换角度为弧度的radians()方法
2015/05/18 Python
Python通过matplotlib绘制动画简单实例
2017/12/13 Python
Python机器学习k-近邻算法(K Nearest Neighbor)实例详解
2018/06/25 Python
Python json模块dumps、loads操作示例
2018/09/06 Python
django创建最简单HTML页面跳转方法
2019/08/16 Python
Python 2.6.6升级到Python2.7.15的详细步骤
2020/12/14 Python
html5/css3响应式页面开发总结
2018/10/16 HTML / CSS
瑞典首都斯德哥尔摩的多元奢侈时尚品牌:Acne Studios
2017/07/09 全球购物
意大利体育用品和运动服网上商店:Maxi Sport
2019/09/14 全球购物
Kingsoft金山公司C/C++笔试题
2016/05/10 面试题
微信营销策划方案
2014/02/24 职场文书
幼儿园爱国卫生月活动总结
2014/06/30 职场文书
2014年信访工作总结
2014/11/17 职场文书
幼儿园老师个人总结
2015/02/28 职场文书
2015中秋节慰问信范文
2015/03/23 职场文书
2015年重阳节慰问信
2015/03/23 职场文书
2015年前台文员工作总结
2015/05/18 职场文书
2015最新民情日记范文
2015/06/26 职场文书
简历中的自我评价怎么写呢?
2019/04/30 职场文书
WordPress多语言翻译插件 - WPML使用教程
2021/04/01 PHP
Springboot如何同时装配两个相同类型数据库
2021/11/17 Java/Android
Win7/8.1用户可以免费升级到Windows 11系统吗?
2021/11/21 数码科技