我正在尝试构建一个登录网页的小脚本,然后从那里我可以做其他事情。
获取未经身份验证的页面没有问题,但是当我尝试“登录”时,它似乎没有发布页面。我不确定是否是没有表单操作的问题,并且此页面上还有另一个隐藏的表单。
当我尝试我的代码时,返回的 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")
尝试过代码的变体,但知道上述在正常页面上有效。我还需要传递其他内容或启动提交按钮吗?
谢谢你的帮助!
一只名叫tom的猫
相关分类