Python を使用して、 http://utahcritseries.com/RawResults.aspxの値を読み取ろうとしています。ページは問題なく読めますが、年のコンボ ボックスの値を変更して、他の年のデータを表示するのに苦労しています。デフォルトの 2002 年以外の年のデータを読み取るにはどうすればよいですか?
年コンボ ボックスが変更されると、ページは HTTP Post を実行しているように見えます。コントロールの名前は ct100$ContentPlaceHolder1$ddlSeries です。urllib.urlencode(postdata) を使用してこのコントロールの値を設定しようとしましたが、何か間違ったことをしているに違いありません。ページのデータが変更されていません。これはPythonで行うことができますか?
可能であれば、Selenium を使用しないことをお勧めします。
私はこのようなコードを使用してきました(stackoverflowユーザーdbrから)
import urllib
postdata = {'ctl00$ContentPlaceHolder1$ddlSeries': 9}
src = urllib.urlopen(
"http://utahcritseries.com/RawResults.aspx",
data = urllib.urlencode(postdata)
).read()
print src
しかし、同じ 2002 年のデータを引き出しているようです。firebug を使用してヘッダーを検査しようとしましたが、多くの無関係でランダムに見えるデータが送受信されているのを確認しました。これらの値をサーバーにもポストする必要がありますか?