Pergunta

Em Python, eu estou tentando ler os valores sobre os http://utahcritseries.com/RawResults.aspx . Como posso ler outras que o padrão de 2002?

anos

Até agora, usando mecanizar, eu fui capaz de referenciar o SELECT e lista todas as suas opções disponíveis / valores, mas estou inseguro sobre como alterar seu valor e reenvie o formulário.

Estou certo de que este é um problema comum e é frequentemente solicitado, mas eu não tenho certeza do que eu deveria estar procurando.

Foi útil?

Solução

Assim como sobre isto:

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

Outras dicas

Com problemas relacionados com AJAX-carregamento de páginas, use Firebug!

Instale e Firebug aberto (é um plugin do Firefox), acesse a página Net, e certifique-se "All" é selecionado. Abra a URL e mudar a caixa de seleção, e ver o que é enviado para o servidor, e o que é recebido.

Parece que o ctl00$ContentPlaceHolder1$ddlSeries campo chamado-catchily é o que é responsável .. Faz o seguinte trabalho ..?

import urllib

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

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

print src
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top