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的示例代碼的詳細內(nèi)容,更多關(guān)于python 模擬登陸github的資料請關(guān)注隨便開發(fā)網(wǎng)其它相關(guān)文章!
總結(jié)
以上是生活随笔為你收集整理的python模拟登陆 验证码el_python 模拟登陆github的示例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 定时脚本执行wget无效_写了个
- 下一篇: python怎么查看列表_Python