Я пытаюсь войти на сайт и получить данные от него. Кажется, я не могу механизировать работу на следующем сайте. Я привел HTML ниже. Может кто-нибудь, пожалуйста, дайте мне краткую помощь, как я могу войти в систему и распечатать следующую страницу?Python Mechanize - Войти
Я пробовал использовать механизацию и петлю через br.forms(). Я вижу форму в этом, но у меня возникают проблемы с вводом имени пользователя и пароля, а затем нажатием submit.
<div class="loginform" id="loginpage" style="width: 300px;">
<div class="loginformentries" style="overflow: hidden;">
<div class="clearfix">
<div class="loginformtitle">Sign-in to your account</div>
</div>
<div class="clearfix">
<div class="loginformlabel"><label for="USERID">Username:</label></div>
<div class="loginforminput"><input name="USERID" id="USERID" style="width: 150px;" type="text" value=""></div>
</div>
<div class="clearfix">
<div class="loginformlabel"><label for="PASSWDTXT">Password:</label></div>
<div class="loginforminput"><input name="PASSWDTXT" id="PASSWDTXT" style="width: 150px;" type="password" value=""></div>
</div>
<div class="clearfix">
<div class="loginformlabel"><label for="usertype">Select Role:</label></div>
<div class="loginforminput"><select name="usertype" id="usertype" style="width: 150px;"><option value="participant">Participant</option>
<option value="sponsor">Sponsor</option></select></div>
</div>
<div class="loginformsubmit" style="text-align: right;"><span class="button"><button class="buttoninsidebuttonclass" type="submit">Login</button></span></div>
</div>
<div class="loginformdescription">Both entries are case sensitive. If you fail to login <strong>five</strong> consecutive times your account could be disabled.</div>
</div>
</div>
</div>
Я пытаюсь что-то вроде этого ...
import mechanize
br = mechanize.Browser()
br.open("test")
br.select_form(name="loginform")
br["USERID"] = 'xxxxx'
br["PASSWDTXT"] = 'xxxxx'
br.submit()
print br.title()
Но я не знаю, как проверить, что я нахожусь на следующей странице
Это, кажется, отлично работает, не могли бы вы указать мне лучший способ получить уступ от следующей страницы. Если бы я просто хотел получить всю информацию об этом? –
@ Dumbkid_trying См. Редактирование. Кроме того, я слышал о том, что beautifulsoup легче анализировать элементы HTML, но я никогда не использовал его, не уверен, можно ли его комбинировать с mechanize – CDspace
Иногда одна форма на странице может не иметь имени. В этом случае 'br.form = list (br.forms()) [0]' будет делать вместо 'br.select_form (name =" имя формы сверху ")' –