私はmintos.comにログインし、ログインの成功後に表示されるアカウント概要ページをhtmlファイルに保存する小さなソフトウェアを作成しようとしています。いくつかのアプローチを試しましたが、これは私の現在のバージョンです。Mintos.com login with python requests
import requests
import sys
import codecs
sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach())
username = 'abc'
password = '123'
loginUrl = 'https://www.mintos.com/en/login'
resp = requests.get(loginUrl, auth=(username, password))
file = codecs.open("mint.html", "w", "UTF-8")
file.write(resp.text)
file.close()
私は、コードを実行すると、私は元のページではなく、ログインしたときに、私が得るべきものを保存します。私は他の多くはありません...私は意味(私がログインをめちゃくちゃだと思います混乱する)。私はすでにこの問題に恥ずかしいほどの時間を費やしていました。
編集:_csrf_token
with requests.session() as s:
resp = s.get(loginUrl)
toFind = '_csrf_token" value="'
splited = resp.text.split(toFind)[1]
_csrf_token = splited.split('"',1)[0]
payload = {"_username": _username, "_password": _password, "_csrf_token": _csrf_token}
final = s.post(loginUrl, data = payload)
file = codecs.open("mint.html", "w", "UTF-8")
file.write(final.text)
file.close()
で別の非作業バージョンは、この時間しかし、私はまだ同じ結果を得る:
import requests
import sys
import codecs
sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach())
loginUrl = "https://www.mintos.com/en/login";
username = "abc"
password = "123"
payload = {"username": username, "password": password}
with requests.session() as s:
resp = s.post(loginUrl, data = payload)
file = codecs.open("mint.html", "w", "UTF-8")
file.write(resp.text)
file.close()
編集2: 私はまたの線に沿って何かを試してみました。ダウンロードしたページは、私が抽出したのと同じトークンを持っています。
最終編集:私はそれを作って、今は馬鹿だと感じる。私は私のloginUrlとして「『https://www.mintos.com/en/login/check』を使用する必要がありました。
認知度については気づかなかったので、よく知っておいてください。私はalredyこの線に沿って何かを試してみた:インポートは、インポート コーデック sys.stdoutの= codecs.getwriter( "UTF-8")(sys.stdout.detach()) loginUrl = " インポートsysを要求しますhttps://www.mintos.com/en/login "; 名= "ABC" パスワード= "123" ペイロード= Sとして{ "ユーザ名":ユーザ名、 "パスワード" パスワード} requests.sessionと (): \t RESP = s.post(loginUrl、データ=ペイロード) \tファイル= codecs.open( "mint.html"、 "W"、 "UTF-8") \t file.write(resp.text) \t file.close()しかし、それはしませんでしたいずれかの作業。 – Daniel
私は試したPOSTでバージョンを追加するようにOPを更新しました。 – Daniel
これは動作しません。非難するものではありませんが、HTMLフォームの仕組みを知っていますか? mintos.comのフィールドには '_username'と' _password'というフィールドがあり、 'username'と' password'の値を与えています... –