我正在尝试制作一个程序,该程序登录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。
答案 0 :(得分:0)
直接的答案是URL不正确。您使用的是html文件的URL,而不是任何看起来像登录URL的URL。可能可以浏览页面上的javascript并对它们的登录流程进行反向工程,但是最近他们有一些数据泄露,因此讨论如何操作可能是一种不好的形式。