2016-06-15 11 views
1

私はscrapperを開発しており、.pdfファイルをページからダウンロードする必要があります。 htmlタグからファイル名を取得できますが、ファイルをダウンロードする完全なURL(または要求本文)が見つかりません。ファイルをダウンロードするURLはどのようにして見つけることができますか?

私は、クロムとFirefoxのネットワークトラフィックツールとwiresharkを使ってトラフィックをスニッフィングしようとしましたが、成功しませんでした。私はそれがページ自体とまったく同じURLへの投稿要求をするのを見ることができるので、なぜこのようなことが起こるのか理解できません。私の推測では、ファイル名はPOSTリクエスト本体の中に送られているのですが、それらのツールでもその情報を見つけることはできません。本文に変数名が表示されていれば、要求のコピーを作成してファイルを取得できます。

これらの情報はどのように入手できますか?ここで

は私が話していますウェブサイトです:http://www2.trt8.jus.br/consultaprocesso/formulario/ProcessoConjulgado.aspx?sDsTelaOrigem=ListarProcessos.aspx&iNrInstancia=1&sFlTipo=T&iNrProcessoVaraUnica=126&iNrProcessoUnica=1267&iNrProcessoAnoUnica=2010&iNrRegiaoUnica=8&iNrJusticaUnica=5&iNrDigitoUnica=24&iNrProcesso=1267&iNrProcessoAno=2010&iNrProcesso2a=0&iNrProcessoAno2a=0

EDIT:似た何かを求める人のために、このウェブサイトを見てみましょう:http://curl.trillworks.com/
それはPythonの要求コードにカールを変換します。非常に便利です

答えて

1

要求に使用されるPOSTデータは、ASP.NETによって生成されたエンコードされたコンテンツです。これは、リンクが存在するページのさまざまな状態/セッション情報を含みます。これにより、URLを直接スクレープすることが困難になります。

あなたはクロームデベロッパーツールの[ネットワーク]タブからそれをエクスポートすることにより、HARを調べることができます

Network HAR

__EVENTVALIDATIONデータは、上でレンダリングコントロールから発信クライアント上で発生したイベントを確実にするために使用されますページをサーバーから削除します。

リンクが最初に必要なページをリクエストし、レスポンス(ページの状態とファイルの埋め込みリクエストを含む)から必要なPOSTデータを抽出し、次に新しいリクエストを作成することで、この情報でこれは、サーバがその間にどのセッションも期限切れにならないことを前提としています。

+0

ありがとう、私はこれを試してみます。このharファイルを使用して、PostManまたは一部の同様のソフトウェアに対する投稿リクエストを作成できますか? –

+0

あなたはそれらの行に沿って何かをすることができるようです。この議論を参照してください:https://github.com/postmanlabs/postman-app-support/issues/86 –

+0

ええ、私はちょうどその周りにグーグルで同じ問題を発見した。ありがとう! –

関連する問題