大学生可用来接单,利用Python实现教务系统扩容抢课!
最近一学期一次的抢课大戏又来了,几家欢乐几家愁。O(∩_∩)O哈哈~(l我每次一选就过了hah,我还是有欧的时候滴)。看着他们盯着教务系统就着急,何况我们那教务系统,不想说什么。emmm 想周围的朋友,正好下午利用扩容前一点时间写了个小脚本帮助朋友抢课。(当然抢到了啦,^_^)
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1097524789
因为时间不够,来不及仔细琢磨,我第一想法就是直接提交选课的数据包(需要cookie和课程ID),先用同学的账号登录教务系统,进入到选课的地方,打开浏览器的开发模式(按F12),点击Network()我这里是谷歌浏览器,如果是其他的找到网络抓包即可。马上尝试!

我们需要的是提交选课的那个数据包,然后用python一直提交模拟。接下来找到提交的数据包。
我们先点击选课(我是已经选择过了,给大家看下点击后的情况)


我们来看下这个数据包的内容,我们需要找到cookie( 你的身份标识),以及我们需要选的课程ID),然后用python模拟提交就OK了。

将这两个数据保存下来后面用的到,还注意下URL哦,就是课程ID的那个地址。
下面的代码部分。
import requests
from future.backports.test.ssl_servers import threading
# 获取cookie 和 课程id就可以抢课
def qian1():
data = 201820192001656
# data 是找到的课程ID,因为python没学好,代码写的有点乱
# 下面是地址 就是我们抓到的那个数据包的URL
url = 'http://****(学校的地址).edu.cn/jsxsd/xsxkkc/bxxkOper?jx0404id='+str(data)
cookie = ' 用找到的cookie替换'
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36',
'Referer': 'http://........../srun_portal_pc.php?ac_id=1',
'cookie':cookie
}
# 一直抢!
while True:
# 设定5s服务器未应答就放弃这次,鬼知道是服务器炸了还是。。。。
mes = requests.get(url, headers=header, timeout=5)
# 打印返回的结果,就是弹出来的那个小窗口的内容
print(str(1)+str(mes.status_code)+':'+str(mes.text))
# 后面是不同的课,因为不能吊在一课树上!
def qian():
data = 201820192001302
url = 'http://*****/jsxsd/xsxkkc/bxxkOper?jx0404id='+str(data)
cookie = '*****cookie'
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36',
'Referer': 'http://172.30.1.70/srun_portal_pc.php?ac_id=1',
'cookie':cookie
}
while True:
mes = requests.get(url, headers=header, timeout=5)
print(str(0)+str(mes.status_code)+':'+str(mes.text))
def qian2():
data = 201820192001155
url = 'http://****n/jsxsd/xsxkkc/bxxkOper?jx0404id=' + str(data)
cookie = 'cookie'
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36',
'Referer': 'http://172.30.1.70/srun_portal_pc.php?ac_id=1',
'cookie': cookie
}
while True:
mes = requests.get(url, headers=header, timeout=5)
print(str(2)+str(mes.status_code) + ':' + str(mes.text))
def main():
# 开多线程分开抢课
# 接下来就会一直抢课!
thread1 = threading.Thread(target=qian)
thread2 = threading.Thread(target=qian1)
thread3 = threading.Thread(target=qian2)
thread4 = threading.Thread(target=qian)
thread5 = threading.Thread(target=qian1)
thread6 = threading.Thread(target=qian2)
thread1.start()
thread2.start()
thread3.start()
thread4.start()
thread5.start()
thread6.start()
main()
下面是效果图:
开始
帮小伙伴抢课成功,而且学校这节课只扩了2个人,其中一个被我抢到了!hah
总结:
用多线程抢应该靠谱些(我Python线程没学好,还需要加油!)
需要cookie才能抢,不适合其他人,这点还需要进步!
希望以后能先多思考再动手,可以少吃很多亏!!!加油ヾ(◍°∇°◍)ノ゙
大学生可用来接单,利用Python实现教务系统扩容抢课!的更多相关文章
- 广州商学院Python正方教务系统爬虫(获取个人信息成绩课表修改密码)
使用python的requests库简单爬取,使用xpath解析内容 可以获取个人信息.个人照片.成绩单和课表 github地址:https://github.com/PythonerKK/GZCC- ...
- 利用Python进行windows系统上的图像识别与点击(Mac OS系统也可以)
系统环境: 1.安装了python 2.安装了pyautogui模块 windows系统:无需安装依赖模块,在cmd中直接输入pip install pyautogui即可完成安装 Mac OS系统: ...
- 牛逼了,利用Python实现“天眼系统”,只要照片就能了解个人信息
- 利用Python完成一个小游戏:随机挑选一个单词,并对其进行乱序,玩家要猜出原始单词
一 Python的概述以及游戏的内容 Python是一种功能强大且易于使用的编程语言,更接近人类语言,以至于人们都说它是“以思考的速度编程”:Python具备现代编程语言所应具备的一切功能:Pytho ...
- 利用python进行数据分析之数据规整化
数据分析和建模大部分时间都用在数据准备上,数据的准备过程包括:加载,清理,转换与重塑. 合并数据集 pandas对象中的数据可以通过一些内置方法来进行合并: pandas.merge可根据一个或多个键 ...
- 利用python web框架django实现py-faster-rcnn demo实例
操作系统.编程环境及其他: window7 cpu python2.7 pycharm5.0 django1.8x 说明:本blog是上一篇blog(http://www.cnblogs.co ...
- 爬虫学习笔记(1)-- 利用Python从网页抓取数据
最近想从一个网站上下载资源,懒得一个个的点击下载了,想写一个爬虫把程序全部下载下来,在这里做一个简单的记录 Python的基础语法在这里就不多做叙述了,黑马程序员上有一个基础的视频教学,可以跟着学习一 ...
- Python 利用Python操作excel表格之xlwt介绍
利用Python操作excel表格之xlwt介绍 by:授客 QQ:1033553122 直接上代码 案例1 #!/usr/bin/env python # -*- coding:utf-8 ...
- 【转】利用python的KMeans和PCA包实现聚类算法
转自:https://www.cnblogs.com/yjd_hycf_space/p/7094005.html 题目: 通过给出的驾驶员行为数据(trip.csv),对驾驶员不同时段的驾驶类型进行聚 ...
随机推荐
- JVM 专题八:运行时数据区(三)虚拟机栈
2.虚拟机栈 1. 概述 1.1 虚拟机栈出现背景 由于跨平台性的设计,java的指令都是根据栈来设计的.不同平台CPU架构不同,所以不能设计为基于寄存器的. 优点是跨平台,指令集小,编译器容易实现, ...
- 数据可视化实例(十三): 发散型文本 (matplotlib,pandas)
偏差 (Deviation) https://datawhalechina.github.io/pms50/#/chapter11/chapter11 发散型文本 (Diverging Texts) ...
- [Cordova]Cordova6.x自定义插件之Andorid
1.继承了CordovaPlugin的Java Class 需要重写execute方法,如下: 2.在res/xml/config.xml中关联上述java class 3.在assets/www/p ...
- PHP提示dyld: Library not loaded问题解决
Mac在命令行执行php命令时,如php -v 有错误提示: dyld: Library not loaded: /usr/local/opt/openssl/lib/libcrypto.1.0..d ...
- HDFS+ClickHouse+Spark:从0到1实现一款轻量级大数据分析系统
在产品精细化运营时代,经常会遇到产品增长问题:比如指标涨跌原因分析.版本迭代效果分析.运营活动效果分析等.这一类分析问题高频且具有较高时效性要求,然而在人力资源紧张情况,传统的数据分析模式难以满足.本 ...
- Ethical Hacking - POST EXPLOITATION(1)
METERPRETER BASICS >help - shows help >background - backgrounds current session >sessions - ...
- Maven原理学习
文章目录 一.Maven概述 二.maven依赖管理 三.maven文件结构 四.maven仓库的种类以及彼此联系 五.maven标准目录结构 六.mvn命令 七.maven生命周期 八.maven的 ...
- centos7中防火墙转为iptables
1.关闭firewall systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止fir ...
- 题解 洛谷 P5303 【[GXOI/GZOI2019]逼死强迫症】
可以先去考虑没有\(1 \times 1\)的砖块的情况,对于最后一个位置只有两种情况,一个是竖着用一块砖铺设\(2 \times 1\),另一个为横着用两块砖铺设\(2 \times 2\). 设没 ...
- Netty 学习笔记(3) ------ ChannelPipeline 和 ChannelHandler
ChannelPipeline通过责任链设计模式组织逻辑代码(ChannelHandler),ChannelHander就如同Servlet的Filter一样一层层处理Channel的读写数据. Ch ...