努力创建一个会话,以便我可以登录到一个站点并通过 Python 转到我需要的页面



我正在尝试登录一个网站(tesco.com)并获取安全页面的HTML。

我的计划是使用请求库并创建一个会话...然后使用该会话转到安全页面(订单)。

我认为我的问题是我没有单击"提交",但它是一个按钮而不是普通提交......希望得到一些帮助!

我是Python的新手。

import requests
EMAIL = 'MYUSERNAME@EMAIL.com'
PASSWORD = 'MYPASSWORD123!'
URL = 'https://secure.tesco.com/account/en-GB/login'
session = requests.session()
login_data = {
    'email': EMAIL,
    'password': PASSWORD
}
r = session.post(URL, data=login_data) 
r = session.get('https://www.tesco.com/groceries/en-GB/orders/449555448_6781')
print(r).text

我希望进行身份验证,以便我可以使用session.get检索我的订单

在开发人员工具中,下面是实际请求:

Request URL: https://secure.tesco.com/account/en-GB/login? 
from=https%3A%2F%2Fwww.tesco.com%2Fgroceries%2Fen-GB%2F
Request Method: POST
Status Code: 302 Moved Temporarily
Remote Address: 104.103.115.230:443
Referrer Policy: no-referrer-when-downgrade
Accept: text/html,application/xhtml+xml,application/
Accept-Encoding: gzip, deflate, br
Accept-Language: en-GB,en-US;q=0.9,en;q=0.8
Cache-Control: no-cache
Connection: keep-alive
Content-Length: 141
Content-Type: application/x-www-form-urlencoded
Cookie: 
mytesco_segment_register=%7B%22segment%22%3A%22withMerge%22%2C%22;
mytesco_segment_forgottenPassword=%7B%22segment%22%3A%22new%22%2C%22;; 
mytesco_segment_notification=%7B%22segment%22%3A%22;
cookiesAccepted=1; 
mytesco_from=https%3A%2F%2Fwww.tesco.com%2Fgroceries%2Fen-GB%2F; 
cookiesAccepted=1546725466977; _csrf=dQoI2MTOmJKjhD4ycImJVQiF; 
akavpau_tesco_secure=1546725768~id=a6872943921fff98c4c7a240506d1766
Host: secure.tesco.com
Origin: https://secure.tesco.com
Pragma: no-cache
Referer: https://secure.tesco.com/account/en-GB/login? 
from=https%3A%2F%2Fwww.tesco.com%2Fgroceries%2Fen-GB%2F
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Mobile 
Safari/537.36
from: https://www.tesco.com/groceries/en-GB/
username: *****
password: *****
state: 35c4c1b2-897c-40a9-9103-3b3b66e2a5b0
_csrf: zzS9vS3P-gw9jUzOV-jkELiZ-Yi-EBfUSg1E

我找回了登录页面(几乎就像点击没有发生一样)。

鉴于您想与按钮进行交互,该任务可能更适合Selenium https://selenium-python.readthedocs.io/而不仅仅是requests

相关内容

最新更新