Frage

In Python, ich versuche, die Werte auf http://utahcritseries.com/RawResults.aspx zu lesen . Wie kann ich lesen Jahre andere als der Standard 2002?

Bisher mit mechanisieren, ich habe in der Lage, die SELECT und listen alle seine verfügbaren Optionen / Werte zu verweisen, aber bin nicht sicher, wie der Wert zu ändern und das Formular erneut.

Ich bin sicher, dass dies ein weit verbreitetes Problem und häufig gefragt wird, aber ich bin nicht sicher, was ich soll auch für sein zu suchen.

War es hilfreich?

Lösung

So wie etwa diese:

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()

Andere Tipps

Bei Problemen in Zusammenhang mit AJAX-Laden der Seiten, verwenden Sie Firebug!

Installieren und offene Firebug (es ist ein Firefox-Plugin), auf die Net-Seite gehen, und stellen Sie sicher, „Alle“ ausgewählt ist. Öffnen Sie die URL und ändern Sie das Auswahlfeld, und sehen, was an den Server gesendet wird, und dem, was empfangen wird.

Es scheint, die catchily genannten Feld ctl00$ContentPlaceHolder1$ddlSeries ist, was verantwortlich ist .. Ist die folgende Arbeit ..?

import urllib

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

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

print src
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top