python 爬虫,python3爬取教务系统_python requests模拟登陆正方教务管理系统,并爬取成绩

 2023-09-23 阅读 27 评论 0

摘要:最近模拟带账号登陆,查看了一些他人的博客,发现正方教务已经更新了,所以只能自己探索了。登陆:通过抓包,发现需要提交的值python 爬虫,需要值lt,这是个啥,其实他在访问登陆页面时就产生了session=requests.Session()re

最近模拟带账号登陆,查看了一些他人的博客,发现正方教务已经更新了,所以只能自己探索了。

登陆:

通过抓包,发现需要提交的值

python 爬虫,需要值lt,这是个啥,其实他在访问登陆页面时就产生了

session=requests.Session()

response= session.get(login_url, headers=header)

cookies=response.cookiesfor c incookies:

python numpy、cookie= c.name + ‘=‘ +c.value

print(‘cookie-get:‘ +cookie)

selector=etree.HTML(response.text)

token= selector.xpath(‘//input[@name="lt"]/@value‘)[0] # 解析出登陆所需的lt信息

利用python爬取?print(token)

得到lt的值,加入到自己创建的表单中

根据上面抓包工具中需要的值,创建所需表单

login_data={‘useValidateCode‘: ‘0‘,‘isremenberme‘: ‘1‘,‘ip‘:‘‘,‘username‘: username,‘password‘: password,‘losetime‘: ‘30‘,‘lt‘: token,‘_eventId‘: ‘submit‘,‘submit1‘:‘‘}

python json。post请求登陆:

response = session.post(login_url, data=login_data, headers=header)print(response.status_code)

我们成功了,哈哈哈,很开心!

进入了主页面:

python编程。这是我们登进的页面,要爬取成绩,成绩在教务系统中,细心观察

get下链接:http://******/xs_main.aspx?xh=***&type=1

response = session.get(main_url, headers=header)print(response.cookies)print(response.status_code)print(BeautifulSoup(response.text, ‘lxml‘))

response.status_code返回200,以为成功了?打印一下

python中divmod、额!难受,鬼刀一开,看不见........他竟然返回的是登陆界面?

究竟是什么问题呢,我怀疑是cookie:

因为

print(response.cookies)打印的值是:

python中eval,浏览器访问抓包看下

啊嘞嘞,why?

查看其他请求,在Cookie中竟然都没有创建过ASP.NET_SessionID

那怎么办呢?

python3。那我自己写一个吧:

requests.utils.add_dict_to_cookiejar(session.cookies,{"ASP.NET_SessionId":"0ftp4drb5uar0r55urffkobr"})

哎呀,成功了。开心,不过似乎ASP.NET_SessionId有时效性。

不管了,也不知道为啥Session.Cookies得不到所需要的Cookie,先不管了,各位大佬,发现问题的话,或者有啥好的解决办法麻烦告诉下!拜谢

用python写学生成绩管理系统?代码地址:https://github.com/JackyWjx/HNCU

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/90869.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息