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创建只读属性对象的方法(ReadOnlyObject)
Feb 10 Python
详解Python3.1版本带来的核心变化
Apr 07 Python
在Python中使用Mako模版库的简单教程
Apr 08 Python
python3实现全角和半角字符转换的方法示例
Sep 21 Python
对python cv2批量灰度图片并保存的实例讲解
Nov 09 Python
Gauss-Seidel迭代算法的Python实现详解
Jun 29 Python
浅析python redis的连接及相关操作
Nov 07 Python
利用django model save方法对未更改的字段依然进行了保存
Mar 28 Python
python爬虫基础之urllib的使用
Dec 31 Python
Python 实现劳拉游戏的实例代码(四连环、重力四子棋)
Mar 03 Python
pytorch 预训练模型读取修改相关参数的填坑问题
Jun 05 Python
Pytorch中expand()的使用(扩展某个维度)
Jul 15 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
海河写的 Discuz论坛帖子调用js的php代码
2007/08/23 PHP
PHP使用PDO连接ACCESS数据库
2015/03/05 PHP
PHP弹出对话框技巧详细解读
2015/09/26 PHP
使用Yii2实现主从数据库设置
2016/11/20 PHP
thinkPHP统计排行与分页显示功能示例
2016/12/02 PHP
PHP实现在对象之外访问其私有属性private及保护属性protected的方法
2017/11/20 PHP
Nigma vs AM BO3 第二场2.13
2021/03/10 DOTA
用jquery来定位
2007/02/20 Javascript
JavaScript/Js脚本处理html元素的自定义属性解析(亲测兼容Firefox与IE)
2013/11/25 Javascript
js toFixed()方法的重写实现精度的统一
2014/03/06 Javascript
自己使用js/jquery写的一个定制对话框控件
2014/05/02 Javascript
Javascript中Array.prototype.map()详解
2014/10/22 Javascript
jQuery实现有动画淡出效果的二级折叠菜单代码
2015/10/17 Javascript
JS简单实现DIV相对于浏览器固定位置不变的方法
2016/06/17 Javascript
javascript弹出窗口中增加确定取消按钮
2016/06/24 Javascript
JS实现根据用户输入分钟进行倒计时功能
2016/11/14 Javascript
jquery validation验证表单插件
2017/01/07 Javascript
easyUI combobox实现联动效果
2017/01/17 Javascript
JS使用cookie实现只出现一次的广告代码效果
2017/04/22 Javascript
详解Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on
2018/10/12 Javascript
[01:00:06]加油DOTA_EP01_网络版
2014/08/09 DOTA
[04:40]2016国际邀请赛中国区预选赛全程TOP10镜头集锦
2016/07/01 DOTA
[43:03]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
python 查找字符串是否存在实例详解
2017/01/20 Python
python pandas修改列属性的方法详解
2018/06/09 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
2019/06/03 Python
Python中一些深不见底的“坑”
2019/06/12 Python
Django之创建引擎索引报错及解决详解
2019/07/17 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
2019/09/20 Python
python为QT程序添加图标的方法详解
2020/03/09 Python
纯CSS实现颜色渐变效果(包含环形渐变、线性渐变、彩虹效果等)
2014/05/07 HTML / CSS
weblogic面试题
2016/03/07 面试题
Ajax实现页面无刷新留言效果
2021/03/24 Javascript
经典婚礼主持词
2014/03/13 职场文书
春风行动实施方案
2014/03/28 职场文书
坚守艰苦奋斗精神坚决反对享乐主义整改措施
2014/09/17 职场文书