爬虫類POSTは、自動ログインを要求します

#トークンランダムな文字列を取得します。
' '' 
1.アクセスログインページランダムな文字列トークンの取得
:リクエストURL
http://github.com/login
リクエストメソッド:
GETの
リクエストヘッダ:
クッキー
User--エージェント:Mozillaの/ 5.0(Windows NTの10.0; WOW64)のAppleWebKitを/ 537.36 (ヤモリのようにKHTML、)クローム/ 63.0.3239.132サファリ/ 537.36
2.解析およびトークン文字列の抽出
定期的に#を
<タイプ= "隠された"名前のINPUTは= "authenticity_token"値= "(。*?)" />
'' '
インポート要求が
 インポート
LOGIN_URL = https://github.com/login 
リクエストヘッダ#loginページ
login_header = {
     ' のUser-Agent '' のMozilla / 5.0(Windows NTの10.0; WOW64)のAppleWebKit / 537.36(KHTML、ヤモリ等)クローム/ 63.0.3239.132サファリ/ 537.36 ' 
}
login_res = requests.get(URL = LOGIN_URL、ヘッダ= login_header)
#print(login_res.text)
#解析はトークン文字列を抽出しました
authenticity_token = re.findall(
     ' <INPUT TYPE = "隠れた" NAME = "authenticity_token"値= "(。*?)" /> ' 
    login_res.text、
    re.S 
)[0] 
プリント(authenticity_token)
#クッキーは、情報のログインページを取得します
#1 プリント(login_res.cookies) 
login_cookies = login_res.cookies.get_dict()
#2。はgithubの着陸開始しました。
session_url = ' http://github.com/session '
#リクエストヘッダ
session_headers = {
     ' のUser-Agent '' のMozilla / 5.0(Windows NTの10.0; WOW64)のAppleWebKit / 537.36(KHTML、ヤモリ等)クローム/ 63.0.3239.132サファリ/ 537.36 ' 
}
'' ' 
POSTリクエスト自動ログインgithubのを:
URLを要求:
http://github.com/session
リクエストメソッド:
POSTの
リクエストヘッダ:
クッキー
のUser-Agent
リクエストボディ:
コミット:ログイン
UTF8:✓
authenticity_token:FLmfwPWcFB / gy50Y3lUfZduoWrRtTF9eWiAYWKwjlY9M4nFs9SvvqX3qQ / n1wJiaI5Blp1lHT7qe9m / == kofrgcw
ログイン:
パスワード:
webauthn-サポート:サポートされていません
'' '

# - 情報要求
form_data = {
           " コミット"" サインイン" " UTF8 "" " " authenticity_token " :authenticity_token、
           " ログイン"" lzc01021033 " " パスワード"" lzc199901021033を" " webauthn支援""サポートされていない" 
} 
session_res= requests.post(URL = session_url、
             ヘッダー = session_headers、
             クッキー = login_cookies、
             データ = form_data) オープンと' github3.html '' W '、符号化= ' UTF-8 ' Fとして):
 f.write(session_res 。テキスト)

 

おすすめ

転載: www.cnblogs.com/changgeyimeng/p/11115897.html