Próbuję napisać skrypt w języku Python, aby umożliwić mi zalogowanie się na moje konto fantasy football pod numerem https://fantasy.premierleague.com/, ale coś jest nie tak z moim logowaniem. Po zalogowaniu się w przeglądarce i sprawdzeniu szczegółów za pomocą narzędzi programistycznych Chrome, Uważam, że żądanie URL https://users.premierleague.com/accounts/login/ i wysłane dane formularza jest:Użyj modułu zapytań w Pythonie, aby zalogować się do najlepszej ligi fantasy Barclays?
csrfmiddlewaretoken:[My token]
login:[My username]
password:[My password]
app:plfpl-web
redirect_uri:https://fantasy.premierleague.com/a/login
Istnieje również wiele nagłówków żądania:
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, br
Accept-Language:en-US,en;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Content-Length:185
Content-Type:application/x-www-form-urlencoded
Cookie:[My cookies]
Host:users.premierleague.com
Origin:https://fantasy.premierleague.com
Referer:https://fantasy.premierleague.com/
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36
Więc pisałem krótki skrypt w Pythonie przy użyciu żądania biblioteka, aby spróbować zalogować się i przejść do strony w następujący sposób:
import requests
with requests.Session() as session:
url_home = 'https://fantasy.premierleague.com/'
html_home = session.get(url_home)
csrftoken = session.cookies['csrftoken']
values = {
'csrfmiddlewaretoken': csrftoken,
'login': <My username>,
'password': <My password>,
'app': 'plfpl-web',
'redirect_uri': 'https://fantasy.premierleague.com/a/login'
}
head = {
'Host':'users.premierleague.com',
'Referer': 'https://fantasy.premierleague.com/',
}
session.post('https://users.premierleague.com/accounts/login/',
data = values, headers = head)
url_transfers = 'https://fantasy.premierleague.com/a/squad/transfers'
html_transfers = session.get(url_transfers)
print(html_transfers.content)
Na wydrukowanie zawartości moją prośbę postu, otrzymuję odpowiedź HTML kod 500 błędu z:
b'\n<html>\n<head>\n<title>Fastly error: unknown domain users.premierleague.com</title>\n</head>\n<body>\nFastly error: unknown domain: users.premierleague.com. Please check that this domain has been added to a service.</body></html>'
Jeśli usunąć „host” z mojej głowy dict, otrzymuję odpowiedź HTML kod błędu 405 z:
b''
próbowałem tym różne kombinacje nagłówków żądania w głowie dict i nic nie wydaje się działać.
Co się stało, gdy użyjesz 'premierleague.com' jako' Hosta'? –
@ Orduan Otrzymuję tę samą wiadomość: nieznana domena premierleague.com –
Witam. Czy wiesz jak aktualizować składy itp. Lub inicjować transfery za pomocą pythona? –