Я пытаюсь создать небольшой скрипт, который входит в веб-страницу, а затем оттуда я могу делать другие вещи.
У меня нет проблем с получением неаутентифицированных страниц, но когда я пытаюсь войти в систему, кажется, что страница не публикуется. Я не уверен, что это проблема, связанная с отсутствием действия с формой, а также на этой странице есть еще одна скрытая форма.
Когда я пробую свой код, возвращаемый html содержит поля, заполненные пользователем / паролем, который я указал. Это как если бы кнопка «Войти» не была нажата.
Вот форма:
<form method="POST">
<table border=1 bgcolor="#a7a7a7" style="border-collapse:collapse;border-style:solid; border-color:#006600" >
<tr>
<td>
<table cellspacing=2 cellpadding=4>
<tr>
<td align="right" bgcolor="#b7b7b7" >your email</td>
<td bgcolor="#c7c7c7" ><input name="user_email" type="text" size=30 value=""><br></td>
</tr>
<tr>
<td align="right" bgcolor="#b7b7b7" >your password</td>
<td bgcolor="#c7c7c7" ><input name="user_password" type="password" size=30><br></td>
</tr>
<tr>
<td align="center" colspan=2><input type="submit" name="do_login" value="log in"></td>
</tr>
</table>
</td>
</tr>
</table>
<input type="hidden" name="allhidden[0]" value="dummy">
<input type="hidden" name="allhidden[_ga]" value="1234">
<input type="hidden" name="allhidden[_gid]" value="1234">
<input type="hidden" name="allhidden[gd_session]" value="eFmcHb">
<input type="hidden" name="allhidden[grey_cookie]" value="&&&">
<br>
</form>
Вот мой код:
s = requests.Session()
# Perform login
result = s.post(LOGIN_URL, data={
"user_email": USERNAME,
"user_password": PASSWORD,
})
# Scrape url
html = s.get(DASHBOARD_URL).content
print(html)
soup = BeautifulSoup(html, "html.parser")
Пробовал варианты кода, но знаю, что выше работает на обычных страницах. Есть ли что-то еще, что мне нужно передать или инициировать кнопку отправки?
Спасибо за любую помощь!