如何使用python登录幻想超级联赛

2024-04-28 04:12:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我如何才能获得梦幻英超网站的认证信息。我的身份验证失败了

import requests 
from requests.auth import HTTPBasicAuth 
import aiohttp
import asyncio

session = requests.Session()


data = {
     "login" : "email", 
     "password" : "pass", 
     "app" : "plfpl-web", 
     "redirect_uri" : "https://fantasy.premierleague.com"
}


url = "https://users.premierleague.com/accounts/login/"
r = session.post(url, data=data)
print(r.status_code) # 200

url = ('https://fantasy.premierleague.com/api/my-team/{teamId}/')
r = requests.get(url)
json = r.json()
json.keys() # json object details says "Authentication credentials were not provided".

Tags: httpsimportcom身份验证信息jsonurldata
1条回答
网友
1楼 · 发布于 2024-04-28 04:12:04

您需要确保维护从登录调用到“团队”调用的cookies。具体来说,有一个名为pl_profile的cookie用于身份验证

这里有一段代码可以实现这一点:

s = requests.Session()

headers = {
   'authority': 'users.premierleague.com' ,
   'cache-control': 'max-age=0' ,
   'upgrade-insecure-requests': '1' ,
   'origin': 'https://fantasy.premierleague.com' ,
   'content-type': 'application/x-www-form-urlencoded' ,
   'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36' ,
   'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9' ,
   'sec-fetch-site': 'same-site' ,
   'sec-fetch-mode': 'navigate' ,
   'sec-fetch-user': '?1' ,
   'sec-fetch-dest': 'document' ,
   'referer': 'https://fantasy.premierleague.com/my-team' ,
   'accept-language': 'en-US,en;q=0.9,he;q=0.8' ,
}

data = {
    "login": "abc@def", 
    "password": "123456", 
    "app": "plfpl-web", 
    "redirect_uri": "https://fantasy.premierleague.com/"
}

url = "https://users.premierleague.com/accounts/login/"

res = s.post(url, data = data,  headers = headers)

team_url = "https://fantasy.premierleague.com/api/my-team/1234567/"
res = s.get(team_url)
json.loads(res.content)

输出为:

{'picks': [{'element': 123,
   'position': 1,
   'selling_price': 12,
   'multiplier': 1,
   'purchase_price': 13,
   ...

相关问题 更多 >