1

Python では、 http://utahcritseries.com/RawResults.aspxの値を読み取ろうとしています。デフォルトの 2002 年以外の年を読み取るにはどうすればよいですか?

これまでのところ、mechanize を使用して、SELECT を参照し、使用可能なすべてのオプション/値を一覧表示できましたが、その値を変更してフォームを再送信する方法がわかりません。

これは一般的な問題であり、頻繁に尋ねられると確信していますが、何を検索すればよいかさえわかりません。

4

2 に答える 2

1

では、これはどうですか:

from mechanize import Browser
year="2005"

br=Browser()
br.open("http://utahcritseries.com/RawResults.aspx")
br.select_form(name="aspnetForm")
control=br.form.find_control("ctl00$ContentPlaceHolder1$ddlSeries")
control.set_value_by_label((year,))
response2=br.submit()

print response2.read()
于 2009-04-29T11:32:11.900 に答える
0

ページの AJAX 読み込みに関する問題がある場合は、Firebug を使用してください。

Firebug (Firefox プラグイン) をインストールして開き、[ネット] ページに移動して、[すべて] が選択されていることを確認します。URL を開いて選択ボックスを変更し、サーバーに送信されるものと受信されるものを確認します。

キャッチーな名前のフィールドctl00$ContentPlaceHolder1$ddlSeriesが責任があるようです..次は機能しますか..?

import urllib

postdata = {'ctl00$ContentPlaceHolder1$ddlSeries': 9}

src = urllib.urlopen(
    "http://utahcritseries.com/RawResults.aspx",
    data = urllib.urlencode(postdata)
).read()

print src
于 2009-04-20T20:35:14.850 に答える