4

重複の可能性:
Python: ページにログインして、結果のページをブラウザーで表示するにはどうすればよいですか?

Pythonを使用してphpベースのログインプロンプトを表示するhttp://www.deshabhimani.com/signin.phpのようなページでログインを実行する方法を知りたいと思いました。このフォームは、http: //www.deshabhimani.com/epaper.php へのログインに使用されます。

このサイトは HTTP API を提供していません。

後でpythonを使用して、電子ペーパーのすべてのページ(個別のもの)をダウンロードし、最終的な1つのファイルpdfにします。

ダウンロードしたいファイルはhttp://www.deshabhimani.com/epaper.php?page=43210&ddate=27-07-2012&edition=Kochiで、ログインしないとアクセスできません。

4

1 に答える 1

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>

上からわかるように、最初にフォームをスコープして、メソッドの種類とフィールドの名前を確認します

だから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)
于 2012-07-27T09:57:57.180 に答える