1

私の仕事では、ethics.ga.gov からの私の州のキャンペーン開​​示レポートを頻繁に確認する必要があります。ただし、状態システムは、私がこれまでに扱った中で最もくだらない Web アプリケーションの 1 つです。

レポートごとの貢献データのみを提供します。選挙サイクルごとに 6 つのレポートがあります。そして、怪我に侮辱を加えるために、システムは遅いです。大量のファイルをダウンロードする必要があるだけでなく、生成されるまでしばらく待たなければなりません。

これは、プロセスを自動化する明らかな機会のようなものです。私が計画していたのは、すべての開示レポートにリンクするページの URL を入力すると、すべての貢献レポートをダウンロードできるプログラムを作成することでした。

特定の候補者について、このページへのリンクを入力します「キャンペーン貢献レポート」というタイトルのリスト)。次に、これらの各リンクをたどってレポート ページに移動し、そのリンクをたどって投稿ページに移動し、csv ファイルをダウンロードする予定です。csv ファイルを取得したら、(私が思うに) プロジェクトは私のコーディング能力の範囲に入ります。

私が今立ち往生している問題は、レポートの表示リンクをたどる方法がわからないことです。システムは ASP で書かれています。リンクは、「レポートの表示」の呼び出しで JavaScript ポストバック関数を呼び出します。ctl02 はコントロールの識別子です。そのコントロール識別子を必要な URL (この場合はhttp://media.ethics.ga.gov/search/Campaign/Campaign_ReportOptions.aspx?NameID=5753&FilerID=C2009000086&CDRID=85776 ) にマップするための情報が埋め込まれているようです。暗号化された __VIEWSTATE フィールド。

Firebug デバッガーをインストールして、その方法でデータを取得しようとしました。私は Firebug に非常に慣れていませんが、私が見つけることができたのは、必要な URL への GET 要求が [net] タブに表示されていることだけでした。

明らかに、どういうわけか私のブラウザは次のページを取得しています。つまり、自動化できるはずですが、今は途方に暮れています。私は本当にそれが好きになり始めているので、私はこれをPythonで取り組んできましたが、すべてが交渉可能です. 私はこれをMac(完全なgnu環境)で行っており、慣れ親しんだ環境で作業を続けたいと思っていますが、そのルートに行かなければならない場合は、ビジュアルC ++ '10を備えたWindows XP vmを持っています。

皆さんはどう思いますか?

4

1 に答える 1

1

データが暗号化された __VIEWSTATE にまったく含まれていないことが判明しました。Firebug がリダイレクトでクリアする POST 操作がありました (クリアしないように設定されていたにもかかわらず)。Chrome 開発コンソールで実行したところ、POST データをキャプチャし、アプリケーションで POST 操作を複製することができました。探していたURLにたどり着きました。

これを見てくれたみんなありがとう!

于 2013-06-19T21:38:37.390 に答える