可能重复:
Python: How do you login to a page and view the resulting page in a browser?
我想知道如何在像http://www.deshabhimani.com/signin.php这样的页面上执行登录,这些页面具有使用python的基于php的登录提示。此表单用于登录http://www.deshabhimani.com/epaper.php
该网站未提供HTTP API。
我想稍后使用python下载epaper的所有页面(这是个人的),然后将其变成最终的一个文件pdf。
我要下载的文件是http://www.deshabhimani.com/epaper.php?page=43210&ddate=27-07-2012&edition=Kochi,只能通过登录
访问答案 0 :(得分:8)
首先检查页面代码, 要知道什么样的方法如此发送数据,以及用户名和密码名称
<form action="signin.php" method="post" name="log_in" id="log_in" onsubmit="return login()">
<label for="name">User Name:</label><br>
<input type="text" maxlength="80" size="25" id="username" name="username" style="border:1px dotted #1a64a3; margin-bottom:10px">
<label for="email">Password:</label><br>
<input type="password" maxlength="80" size="25" id="password" name="password" style="border:1px dotted #1a64a3">
<input type="submit" name="submit" value="Login" style="background:url(images/submit.gif) no-repeat; width:59px; height:22px; color:#FFFFFF; padding-bottom:3px">
</form>
从上面看,首先我们将范围扩展到表单,看看哪种方法以及fileds的名称是什么
所以让我们在python中处理它
import urllib
login_data=urllib.urlencode({'username':'your username','password':'your password','submit':'Login'}) # replace username and password with filed name
op = urllib.urlopen('www.exmaple.com/sign-in.php',login_data)