Nei*_*ner 5 python asp.net screen-scraping asp.net-ajax
使用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
Run Code Online (Sandbox Code Playgroud)
但似乎拉起了同样的2002年数据.我已经尝试使用firebug来检查标题,我看到很多无关的和随机数据来回发送 - 我是否还需要将这些值发回服务器?
使用优秀的机械化库:
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
Run Code Online (Sandbox Code Playgroud)
Mechanize 可在 PyPI 上使用:easy_install mechanize
| 归档时间: |
|
| 查看次数: |
3287 次 |
| 最近记录: |