我正在尝试制作一个程序,登录我的 MyPanera 帐户并返回信息,例如我获得了哪些奖励以及距离下一次奖励还有多长时间。但是,我在使用请求库登录我的帐户时遇到困难。我的代码缺少哪些信息才能使此登录正常工作?
import requests
from bs4 import BeautifulSoup
HEADERS = headers={
"user-agent": "[computer data]",
"referer": "https://www.panerabread.com/",
}
credentials = {
"username": "email",
"password": "password",
"agrant_type": "password"
}
login_url = "https://www.panerabread.com/en-us/mypanera/welcome.html"
url = "https://www.panerabread.com/en-us/mypanera/dashboard.html"
with requests.Session() as c:
c = requests.session()
page = c.get(login_url, headers=HEADERS)
c.post(login_url, data=credentials, headers=HEADERS)
page = c.get(url, headers=HEADERS)
soup = BeautifulSoup(page.content, "html.parser")
print(soup.prettify())
到目前为止,最终的打印语句返回“仪表板”页面,就好像没有人登录一样。
编辑1: GET请求的响应码为500。
最佳答案
立即得到的答案是 URL 不正确。您使用的是 html 文件的 URL,而不是任何看起来像登录 URL 的内容。也许可以通过页面上的 JavaScript 进行选择并对他们的登录流程进行逆向工程,但他们最近发生了一些数据泄露,因此讨论如何做到这一点可能不是一个好的形式。
关于python - 使用Python请求库登录帐户困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54208716/