尝试根据session id来登陆网站失败。


我模拟登陆学校的教务网成功后,想完成一个自动下载学期成绩的脚本出现一个问题自己无法解决。
如果想要得到学期成绩等需要先跳转到成绩的页面这里没有发现post data,所以我自己也是直接连接的这个网页只能爬取到这个页面
clipboard.png
继续提交form data后可以得到这样的网页
clipboard.png
在得到第一个网页的代码基础上我提交form data


 score_values={'__VIEWSTATE':'xxxxxxxxx'#太长了
             '__VIEWSTATEGENERATOR':'DB0F94E3',
             'ddlXN':'',
             'ddlXQ':'',
             'Button1':'按学期查询'}

竟然会出现这个错误
clipboard.png
我用 time.sleep(10) 间隔requests的时间也没有成功, referer 都有在headers中添加。
希望可以可以指出错在了那里。

python3.x asp.net 网页爬虫

源源源源源源宝 9 years, 8 months ago

你看看你最后的这次提交,是不是没有携带session_id


 session_id = cookie._cookies['*****']['/']['ASP.NET_SessionId'].value
headers = {
    'Referer'    : url,
    'User-Agent' : '***',
    'Cookie' : 'ASP.NET_SessionId=' + session_id
}

肛门♂幽灵 answered 9 years, 8 months ago

Your Answer