利用Python requests库模拟登陆学校教务系统
来源:互联网 发布:mac本取消开机密码 编辑:程序博客网 时间:2024/06/09 20:18
在研究了一会requests库的实现之后。发现requests的确非常强大。。
几行代码就登陆上了学校的教务系统,但也许是我们学校的教务系统做的太烂了吧23333.动不动就血崩。
下面是代码。
import requestsimport reimport urllib.requestimport oswhile True: name=input('请输入您的学号') password=input('请输入您的密码') Target='http://wlkt.nuist.edu.cn/(S(i5jngs45zajbn045hncdug55))/default.aspx' data={'__VIEWSTATE':'/wEPDwUKMTM5MjUxOTk4Nw9kFgJmD2QWHgICDxAPFgIeB1Zpc2libGVoZGQWAWZkAgMPEA8WAh8AaGRkZGQCBA8QDxYCHwBoZGRkZAIFDxAPFgIeBFRleHQFCeaVmeWKoeWkhGRkZGQCBg8QDxYCHwBoZGRkZAIHDxAPFgIfAQUG5a2m6ZmiZGRkZAIIDxAPFgIfAQUG5a2m5YqeZGRkZAIJDxAPFgIfAGhkZGRkAgoPEA8WAh8BBQbmlZnluIhkZGRkAgsPEA8WAh8BBQblrabnlJ9kZGRkAgwPEA8WAh8AaGRkZGQCDQ8QDxYCHwBoZGRkZAIODxAPFgIfAGhkZGRkAg8PEA8WAh8AaGRkZGQCEA8QDxYCHwBoZGRkZBgBBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WCQUMUmFkaW9CdXR0b240BQxSYWRpb0J1dHRvbjQFDFJhZGlvQnV0dG9uMgUMUmFkaW9CdXR0b24yBQxSYWRpb0J1dHRvbjUFDFJhZGlvQnV0dG9uNQUMUmFkaW9CdXR0b24xBQxSYWRpb0J1dHRvbjEFDFJhZGlvQnV0dG9uM8hkENze68v6MFI9hwYrSEN4tT9A' ,'TextBox1':str(name),'TextBox2':str(password),'js':'RadioButton3','Button1':'登陆'} s=requests.session() r=s.post(Target,data) if '用户名或密码不正确,请重新登录!' in r.text: print('登陆失败,用户名或密码不正确,请重新登录!') continue else: print('登陆成功!') break
实现的确很简单。通过session自动记录cookie值,从而可以访问登陆后的页面。
只需要s=requests.session()
然后再进行s.get()和s.set()方法就可以了
然而判断是否登陆成功的时候还是很捉急的。
r.status_code能反应当前的连接状态。我一开始通过这个来判断石头登陆成功。然而错误的学号和密码也能返回200。这就很蛋疼了。
最后我写成上面的形式。然而当服务器炸了的时候,还是能显示登陆成功。
以后有心思再去改改怎么判断吧。
0 0
- 利用Python requests库模拟登陆学校教务系统
- python 爬虫登陆学校教务系统
- 用Python做有趣的事儿——模拟登陆学校教务系统
- Python 模拟登陆教务选课系统
- python 爬虫实战--登陆学校教务系统获取成绩信息
- python 爬虫登陆学校教务系统之验证码识别
- python 爬虫登陆学校教务系统之HTML解析
- Python项目模拟登录学校正方教务系统抓取课程表。
- 利用python requests库模拟登陆知乎
- Python requests 模拟登陆
- 【JAVA】模拟登陆教务系统
- python爬虫——模拟登陆教务系统
- python 爬虫 教务系统模拟登陆 并下载课表
- HttpWatch+HttpClient模拟登录学校教务系统
- Python模拟登陆(使用requests库)
- 利用requests 模拟登陆csdn
- python requests模拟登陆github
- 使用 python requests 模拟登陆
- 基于ICM的图像切割 MATLAB
- Leetcode ☞ 263. Ugly Number ☆ 【附求质数 prime number 最大公约gcd 最小公倍lcm】
- Specified VM install not found: type Standard VM, name jre7
- 常见的Git代码托管平台有哪些
- 2014第五届蓝桥杯C++B组第七题
- 利用Python requests库模拟登陆学校教务系统
- 安卓开发——TextView属性
- 用http的方式调用webservice,另,用axis调用
- Oracle数据库数据迁移到MySQL数据库之序列问题解决办法
- PowerDesigner(PD) 数据表导出EXCLE
- js数组、正则表达式
- oracle常用sql函数和语句
- 最长公共子字符串
- Swift基本数据类型