문제

파이썬에서는 값을 읽으려고합니다. http://utahcritseries.com/rawresults.aspx. 2002 년 기본 이외의 몇 년을 어떻게 읽을 수 있습니까?

지금까지 Mechanize를 사용하여 사용 가능한 모든 옵션/값을 참조하고 나열 할 수 있었지만 값을 변경하고 양식을 다시 제출하는 방법을 잘 모르겠습니다.

나는 이것이 일반적인 문제라고 확신하고 자주 묻는 질문이지만, 내가 무엇을 찾고 있는지 잘 모르겠습니다.

도움이 되었습니까?

해결책

그래서 이것은 어떻습니까 :

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

다른 팁

Ajax로드와 관련된 문제가 있으면 사용하십시오 개똥 벌레!

Firebug (Firefox 플러그인)를 설치하고 열고 인터넷 페이지로 이동하여 "All"이 선택되었는지 확인하십시오. 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
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top