Domanda

In Python, sto cercando di leggere i valori su http://utahcritseries.com/RawResults.aspx . Come posso leggere anni altri da quello di default del 2002?

Finora, utilizzando Mechanize, sono stato in grado di fare riferimento alla SELECT e elencare tutti i suoi disponibili opzioni / valori, ma sono sicuro come cambiare il suo valore e ripresentare la forma.

Sono sicuro che questo è un problema comune e gli viene chiesto spesso, ma non sono sicuro di quello che dovrei nemmeno cercando.

È stato utile?

Soluzione

Così come su questo:

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

Altri suggerimenti

Con i problemi in materia di AJAX-caricamento delle pagine, utilizzare Firebug!

installare e aprire Firebug (è un plugin per Firefox), andare alla pagina Net, e assicurarsi che "All" è selezionato. Aprire l'URL e modificare la casella di selezione, e vedere ciò che viene inviato al server, e ciò che è ricevuto.

Sembra che il campo ctl00$ContentPlaceHolder1$ddlSeries catchily nome è ciò che è responsabile .. Fa il seguente lavoro ..?

import urllib

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

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

print src
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top