0

http://elwatan.com/pdf/telecharger.php?dir=JOURNAL&file=20120524.pdfにある PDF ファイルをダウンロードしようとしていますが、この PDF ファイルはダウンロードする前にログインする必要があります。ログインできましたが、サーバーによってホームページhttp://elwatan.comにリダイレクトされ、再度 PDF の URL を取得しようとすると、ログインしていないようでダウンロードできません。 ! 私はクッキーを使用する必要があると思いますよね?

はいの場合、以前にそれらを使用したことがないので、方法を説明していただけますか。?

ありがとう :)

4

2 に答える 2

2

mechanizeライブラリは、このような状況で非常に役立ちます。フォーム (ログイン フォームなど) への入力や Cookie などの状態の保持を含む、ブラウザーをシミュレートします。これにより、サイトにログインして、pdf ファイルに移動できます。次のコードのようなものを使用します。

br = mechanize.Browser()
br.open(login_url)
#code to log in with br
data = br.open(pdf_url).get_data()

次に、データを pdf ファイルとして解析する必要があり、必要なことは何でも実行できます。

于 2012-05-25T13:24:31.487 に答える
1

その Web アプリケーションを使用すると、「セッション」が生成されます。セッションの詳細は、Cookie 内のクライアントに保存されます。クライアントは、HTTP リクエストごとに Cookie の内容を送信します。そうすることで、Web アプリケーションは、HTTP 要求が同じセッションに対応していることを認識します。最初は、あなたはそのセッション内の未知のユーザーです。ログイン後、Web アプリケーションは、そのセッション内の要求が許可されたユーザーからのものであることを認識します。

次の 2 つのオプションがあります。

  • ブラウザ経由でログインし、Cookie を作成し、Python を使用して後続のリクエストでブラウザを偽造する
  • Python ですべてを実行します (最初の要求からログイン、ドキュメントの取得まで)

Web アプリケーションの仕様に合わせてコードを調整する必要があるため、どちらもかなりの量の作業になる可能性があります (特にこれらのことに慣れていない場合)。mechanize のようなライブラリ (他の人が既に述べたように) は、いくつかの作業を節約できます。

于 2012-05-25T13:40:45.537 に答える