Изо всех сил пытается создать сеанс, чтобы я мог войти на сайт и перейти на нужную мне страницу через Python - PullRequest
0 голосов
/ 06 января 2019

Я пытаюсь войти на сайт (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

Я возвращаюсь на страницу входа (почти как если бы клик не произошел).

1 Ответ

0 голосов
/ 06 января 2019

Учитывая, что вы хотите взаимодействовать с кнопкой, эта задача может лучше подходить для Selenium https://selenium -python.readthedocs.io / вместо просто requests

...