requests登录教务管理系统,这里以闽江学院为例。

我用的工具

1.python 3.6

2.requests模块

3.Chrome F12

话不多说上码!

####requests登录教育网
import requests
class Mju:def __init__(self):self.headers = {"Host": "jwgl.mju.edu.cn","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36"}self.url = "http://jwgl.mju.edu.cn/"        #学校教务管理官网self.session = requests.session()def get_cookies(self):                  #从首页拿到cookies,因为就两个,所以不写太麻烦了base_response = self.session.get(self.url,headers = self.headers)cookies = base_response.cookiesself.cookie_dict1 = {}self.cookie_dict1["ASP.NET_SessionId"] = cookies['ASP.NET_SessionId']self.cookie_dict1["ASP.NET_SessionId_NS_Sig"] = cookies['ASP.NET_SessionId_NS_Sig']return self.cookie_dict1def checkcode(self):        #手写验证码,当然你也可以做个深度学习识别二维码或者买识别二维码的self.response = self.session.get(self.url, headers=self.headers)checkcode_url = "http://jwgl.mju.edu.cn/CheckCode.aspx"response1 = self.session.get(checkcode_url,headers = self.headers,cookies=self.cookie_dict1)img = response1.contentwith open ("checkcode.jpg","wb") as f:  #二进制写入f.write(img)f.close()def login(self,login_name,login_password,login_code):formdata = {'__VIEWSTATE': 'dDwxNTMxMDk5Mzc0Ozs+3nz05h+XSFTZzEfxTy/80dBgOck=',      #####表单数据都放在 default2.aspx 文件中,__VIEWSTATE 每个人的都不一样,但是是固定的,直接拿下来就好,'txtUserName': login_name,                                                    #一定一定要全拿下来,空的也拿下来'Textbox1':'','TextBox2': login_password,'txtSecretCode': login_code,'RadioButtonList1': '%D1%A7%C9%FA','Button1':'','lbLanguage':'','hidPdrs':'','hidsc':'',}login_url = "http://jwgl.mju.edu.cn/default2.aspx"response_login = self.session.post(login_url, headers=self.headers,data=formdata)response_login.encoding = "gbk"##网站的charset是gb2312,但是我名字他不会写所以就用gbk了          info_url = "http://jwgl.mju.edu.cn/xs_main.aspx?xh="+login_nameresponse_stu = self.session.get(info_url,headers = self.headers,cookies = self.cookie_dict1)response_stu.encoding = "gbk"print(response_stu.text)if __name__ == "__main__":t = Mju()t.get_cookies()t.checkcode()login_name = input(str("请输入学号:"))login_password = input(str("请输入密码:"))login_code = input(str("请输入验证码:"))  #打开 checkcode.jpg 输入验证码t.login(login_name,login_password,login_code)

若返回到首页则登录失败,有什么问题欢迎补充

requests登陆正方教务管理系统相关推荐

  1. php模拟登陆正方教务管理系统(thinkPHP5.0)

    如果想书写一个爬虫,首先应该通过浏览器将你登陆时,本地与服务器之间的信息传递通过抓包的方式获得,然后通过编程语言去模拟这种信息传递. 首先在浏览器上登陆正方教务系统,用Fiddler进行抓包, 发现我 ...

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

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

  3. python爬取学校教务管理系统_python requests模拟登陆正方教务管理系统,并爬取成绩...

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

  4. java模拟登陆正方教务管理系统

    学了java后想设计一个在线提交活动中心使用申请的web网站,但问题是学生身份的验证.开始时是设想每年爬取一次全校学生信息,但速度太慢了,而且学号的规律也不清楚.然后想到借用教务管理系统自带的验证功能 ...

  5. 正方教务系统php登陆,正方教务管理系统最新版无条件注入GetShell | wooyun-2015-0122523| WooYun.org...

    正方教务系统提供了一系列的WebService接口,然而这些接口并未经过严格的认证,从而导致任何浏览者都可以使用这些接口查询信息.由于其对用户提交的参数未进行过滤,从而导致注入的发生! 搜索发现正方教 ...

  6. 模拟登陆新版正方教务管理系统

    写在前面 已经过了一年半,网站有所改版,目前是可以正常登录的,获取信息的那几个url不是直接返回JSON了,需要自己去解析数据. 引入 与很多高校一样,西安皇家邮电大学一直钟爱于正方教务管理系统. 前 ...

  7. 模拟登陆新版正方教务管理系统【可以获取学生基本/课表信息】

    写在前面 博主登陆现在还可以正常使用,但是后面登陆成功,获取信息啥的有问题 登陆还是按照学长的来,模拟登陆新版正方教务管理系统 开始 学校教务系统改版,我直接copy博主代码获取学籍那里一直是获取到的 ...

  8. python爬虫登录正方教务管理系统获取成绩数据

    本程序以四川理工学院教务管理系统为例.... 准备工作:1.ruquests库的使用(或者urllib也可行) 2.正则表达式的书写 3.HTTP通信基础 4.一些解析库的使用 准备一个浏览器监视工具 ...

  9. python 正方教务管理系统抢课脚本(仅供学习)

    正方教务管理系统抢课脚本 (仅供学习请勿它用!!!) 正方教务管理系统抢课脚本 进入正题 正方教务管理系统抢课脚本 该脚本使用python代码模拟发包实现.教务管理系统版本可能有所不同.请根据实际情况 ...

最新文章

  1. 此为太阳历的技术支持博客
  2. 基于Springboot实现在线考试管理系统
  3. 计算机xp怎么做备份,怎样备份xp系统电脑上的所有数据?在xp系统中备份所有文件的方法...
  4. 九度 1479:移位和旋转
  5. 精华Java问题总结
  6. Qt工作笔记-动态曲线图
  7. 堆栈 cookie 检测代码检测到基于堆栈的缓冲区溢出_漏洞公告 | 华硕(ASUS)家庭无线路由器远程代码执行0day...
  8. 计蒜客挑战难题:字符串长度
  9. flask-sqlalchemy mysql_flask-sqlalchemy总结
  10. PyQt5-多窗口数据传输
  11. 基于 python + WebDriverAgent 的“跳一跳”小程序高分教程 1
  12. thinkphp-更新数据update函数
  13. 算法图解第一章笔记与习题(算法简介)
  14. tomcat自动重启
  15. linux下使用 sb接口扫描仪,怎样在Linux下设置和使用扫描仪.doc
  16. 慎用!网传一公司用微软雅黑和盗版PS损失近3000万
  17. 电脑上怎么看网络丢包/网络延时
  18. stata判断变量是不是唯一标识的命令?
  19. 笔记 C++11 std::minmax_element() 的使用(寻找最小值和最大值)
  20. 《程序员修炼之道》读书笔记

热门文章

  1. 基于SpringBoot打造的OA、CMS、ERP通用后台开发框架
  2. continue终止本次循环,执行下一次循环
  3. Axis2 中的 JAXB 和 JAX-WS
  4. 【滤波】卡尔曼滤波数学
  5. 【Jupyter】【Matplotlib】无法显示中文问题
  6. DNS 优化之IP直连
  7. user script
  8. 金昌JCH文件批量转BMP/JPG图片脚本
  9. 谷歌Chrome浏览器自动翻译导致前端页面数据错乱问题 - 接口返回数据被翻译
  10. MATLAB轻松实现三维图像自动旋转、颜色渐变、自动保存为GIF