gpt4 book ai didi

asp.net - Python-从 asp.net AJAX 应用程序获取数据

转载 作者:太空狗 更新时间:2023-10-30 01:24:27 24 4
gpt4 key购买 nike

使用 Python,我试图读取 http://utahcritseries.com/RawResults.aspx 上的值.我可以很好地阅读页面,但很难更改年份组合框的值以查看其他年份的数据。如何读取默认值 2002 年以外年份的数据?

一旦年份组合框更改,该页面似乎正在执行 HTTP Post。控件的名称是 ct100$ContentPlaceHolder1$ddlSeries。我尝试使用 urllib.urlencode(postdata) 为这个控件设置一个值,但我一定是做错了什么——页面上的数据没有改变。这可以用 Python 完成吗?

如果可能的话,我宁愿不使用 Selenium。

我一直在使用这样的代码(来自 stackoverflow 用户 dbr)

import urllib

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

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

print src

但似乎正在提取相同的 2002 年数据。我已经尝试使用 firebug 来检查 header ,但我看到有很多无关的和随机的数据来回发送 - 我还需要将这些值发回服务器吗?

最佳答案

使用优秀的mechanize图书馆:

from mechanize import Browser

b = Browser()
b.open("http://utahcritseries.com/RawResults.aspx")
b.select_form(nr=0)

year = b.form.find_control(type='select')
year.get(label='2005').selected = True

src = b.submit().read()
print src

Mechanize 在 PyPI 上可用:easy_install mechanize

关于asp.net - Python-从 asp.net AJAX 应用程序获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/786603/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com