python 模拟登陆github的示例

 更新时间:2020年12月04日 16:28:21   作者:Kr1s77  
这篇文章主要介绍了python 模拟登陆github的示例代码,帮助大家更好的理解和学习python 爬虫的相关知识,感兴趣的朋友可以了解下
# -*- 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的资料请关注脚本之家其它相关文章!

相关文章

  • PyCharm实现本地恢复或查看历史代码

    PyCharm实现本地恢复或查看历史代码

    这篇文章主要介绍了PyCharm实现本地恢复或查看历史代码,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Python实现视频转换为字符画详解

    Python实现视频转换为字符画详解

    这篇文章主要介绍了如何通过Python实现读取视频并将其转换为字符画的示例代码,文中讲解详细,对我们的学习和工作有一点的价值,感兴趣的小伙伴可以了解一下
    2021-12-12
  • Python NumPy创建数组方法

    Python NumPy创建数组方法

    这篇文章主要介绍了Python NumPy创建数组方法,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-09-09
  • python 正则表达式如何实现重叠匹配

    python 正则表达式如何实现重叠匹配

    这篇文章主要介绍了python 正则表达式如何实现重叠匹配,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • Python3 适合初学者学习的银行账户登录系统实例

    Python3 适合初学者学习的银行账户登录系统实例

    下面小编就为大家带来一篇Python3 适合初学者学习的银行账户登录系统实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • Python免登录实现域名解析的示例详解

    Python免登录实现域名解析的示例详解

    这篇文章主要介绍了如何利用编写python脚本,实现通过dnspod api获取个人域名内的dns解析记录,从而实现域名的解析、修改和删除,需要的可以参考一下
    2023-03-03
  • pymongo insert_many 批量插入的实例

    pymongo insert_many 批量插入的实例

    这篇文章主要介绍了pymongo insert_many 批量插入的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Eclipse中Python开发环境搭建简单教程

    Eclipse中Python开发环境搭建简单教程

    这篇文章主要为大家分享了Eclipse中Python开发环境搭建简单教程,步骤简洁,一目了然,可以帮助大家快速搭建python开发环境,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • Django中使用MySQL5.5的教程

    Django中使用MySQL5.5的教程

    这篇文章主要介绍了Django中使用MySQL5.5的教程,本文图文实例详解的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • 使用Python进行目录的对比方法

    使用Python进行目录的对比方法

    今天小编就为大家分享一篇使用Python进行目录的对比方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11

最新评论