「」「」 トークンのランダムな文字列を取得し、#1 '「」 トークンのランダムな文字列のための1.ログインページ 要求のURL: https://github.com/login リクエストメソッドを: GET リクエストヘッダを: COOKIES のUser-Agent :Mozillaの/ 5.0(Macintosh版、インテルのMac OS X-10_14_3)のAppleWebKit / 537.36(KHTML、ヤモリなど)クローム/ 75.0.3770.100サファリ/ 537.36 2.解析およびトークン文字列の抽出 #定期 の<input type = "隠された"名前を = " authenticity_token "値="(。*?)「/> '' ' のインポートが要求した インポートの再 https://github.com/login「LOGIN_URL =' リクエストヘッダ#ログインページの login_header =を{ 'ユーザーエージェント': 'のMozilla / 5.0(Macintosh版、インテルのMac OS X 10_14_3)のAppleWebKit / 537.36(ヤモリのようにKHTML、)クローム/ 75.0.3770.100サファリ/ 537.36' } login_res = requests.get(URL = LOGIN_URL、ヘッダ= login_header) #プリント(login_res.text) #解析提取トークン字符串 authenticity_token = re.findall( '<入力タイプ= "隠された"名前= "authenticity_token"値= "(。*?)" />'、 login_res.text 、 re.S )[0] プリント(authenticity_token) #获取ログイン页面的クッキー信息 #プリント(型(login_res.cookies)) #プリント(型(login_res.cookies.get_dict())) login_cookies = login_res.cookies.get_dict () #2、开始登录githubの ''」 POSTリクエストは自動的にgithubのをログに記録します: リクエストURL: https://github.com/session リクエストメソッド: POSTの リクエストヘッダ: クッキー User--エージェント:Mozillaの/ 5.0(Macintosh版、インテルのMac OS Xの-10_14_3)のAppleWebKit / 537.36(KHTML、ヤモリなど)クローム/ 75.0.3770.100サファリ/ 537.36 リクエストボディ: コミット:ログイン UTF8:✓ authenticity_token: UBXaPbyTraHYf9KzcMjmc4djtmqHOeiyUkKssP6drR0X67mcZJJnfqnMT / QnizSRoMdkK8D1YupHoADr31OHew == njrbYmGyInLNiNPpvpgxHUDfZ79O1AHDrrDxjSs8HchVBOaAZN2e2v8 + DyxbMGiUE + pOGaIxdC == ++ xSMNAkEZVg ログイン:キングカバーグランド虎 パスワード:上り坂の戦いラット webauthn-サポート:サポートされている '' ' #セッションログインURL session_url = 'https://github.com/session' #请求头信息 session_headers = { 'のUser-Agent': 'のMozilla / 5.0(Macintoshでは、インテルのMac OS X 10_14_3)のAppleWebKit / 537.36(KHTML、ヤモリ等)クローム/ 75.0.3770.100サファリ/ 537.36' } #请求体信息 form_data = { "コミット": "サインイン"、 "UTF8": "✓"を、 "authenticity_tokenを":authenticity_tokenを、 "ログイン": "****"、 "パスワード": "*****"を、 「webauthn -support ": ""サポート } session_res = requests.post(URL = session_url、 ヘッダ= session_headers、 クッキー= login_cookies、 データ= form_data) :Fとしてオープン( 'github3.html'、 'W'、符号化= 'UTF-8')と f.write(session_res.text)