Не могу программно авторизоваться на сайте, парсинг python
знатоки. Начал изучать парсинг на пайтоне и столкнулся с проблемой: не могу программно авторизоваться на сайте. Сначала думал, проблема в непонятно как рассчитанном параметре, похожем на время UNIX (formDate), но вроде как оно полностью автоматически считается и передаётся.
Код парсера:
from bs4 import BeautifulSoup
import requests
import fake_useragent
import time
session = requests.Session()
url = "https://kai.ru/main?p_p_id=58&p_p_lifecycle=1&p_p_state=maximized&p_p_mode=view&_58_struts_action=%2Flogin%2Flogin"
user = fake_useragent.UserAgent().random
headers = {
'User-Agent': user,
"Content-Type": "application/x-www-form-urlencoded",
"Host": "kai.ru",
"Origin": "https://kai.ru",
"Referer": "https://kai.ru/main",
"Upgrade-Insecure-Requests": "1"
}
data = {
"_58_formDate": time.time(),
"_58_saveLastPath": "false",
"_58_redirect": None,
"_58_doActionAfterLogin": "false",
"_58_login": "login",
"_58_password": "password"
}
session.headers.update(headers)
response = session.post(url, data=data).text
При ручной авторизации вот такие данные форм:
Если выполнить этот кусок кода:
soup = BeautifulSoup(response, 'lxml')
inputs = soup.find_all('input')
for input in inputs:
print(input.get('name'), end=': ')
print(input.get('value'))
Мы получим следующий результат:
_58_formDate: 1661931199234
_58_saveLastPath: false
_58_redirect:
_58_doActionAfterLogin: false
_58_login: login
_58_password:
То есть пароль не доходит до сервера.
Подскажите, как можно решить проблему, буду очень благодарен)
UPD: проблема была в куки. Добавил куки, сайт всё принял, но возникла другая проблема. Вместо нужной страницы после авторизации получаю следующее:
<html>
<head>
<title></title>
<meta content="1; url=/c" http-equiv="refresh"/>
</head>
<body onload="javascript:location.replace('/c')">
<!--
The numbers below are used to fill up space so that this works properly in IE.
See http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807 for more
information on why this is necessary.
12345678901234567890123456789012345678901234567890123456789012345678901234567890
12345678901234567890123456789012345678901234567890123456789012345678901234567890
12345678901234567890123456789012345678901234567890123456789012345678901234567890
-->
</body>
</html>
