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 回答