大学生可用来接单,利用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),对驾驶员不同时段的驾驶类型进行聚 ...
随机推荐
- 数据可视化之powerBI基础(二十)Power BI度量值和新建表,有什么异同?
https://zhuanlan.zhihu.com/p/101812525 PowerBI中,有三个地方可以使用DAX,分别是度量值.新建列和新建表,这三个功能并成一排摆放在这里,如图所示, 之前 ...
- python 面向对象专题(八):特殊方法 (一)__get__、__set__、__delete__ 描述符(一)
https://www.cnblogs.com/flashBoxer/p/9771797.html 实现了 __get__.__set__ 或 __delete__ 方法的类是描述符.描述符的用法是, ...
- A Great Alchemist 最详细的解题报告
题目来源:A Great Alchemist A Great Alchemist Time limit : 2sec / Stack limit : 256MB / Memory limit : 25 ...
- Quartz.Net系列(十六):通过Plugins模式使用Xml方式配置Job和Trigger和自定义LogPrivider
1.简单介绍 Quarz.Net中采用插件式来实现配置文件配置,通过XMLSchedulingDataProcessor类进行Xml数据处理 默认配置文件命名:quart_jobs.xml publi ...
- python发送邮件插件
github链接:https://github.com/573734817pc/SendEmailPlug-in.git 说明: 1.该插件功能为发送邮件. 2.基于python编写. 3.使用的时候 ...
- ffmpeg源码编译环境搭建
ffmpeg是视频开发最常用到的开源软件,FFmpeg功能强大,用途广泛,提供几乎所有你能够想到的与视频开发相关的操作,许多商业软件都以ffmpeg为基础进行开发定制. FFmpeg: FFmpeg ...
- toad for oracle 小技巧
在SQL*LOADER 工具上(或者称为SQLLDR,读为:“sequel loader”),因为它仍然是装载数据的主要方法,SQLLDR 能够在极短的时间内装 载庞大数量的数据. 我也是初使用,理解 ...
- 图解:如何实现最小生成树(Prim算法与Kruskal算法)
这是图算法的第四篇文章 图解:如何实现最小生成树 文章目录: 1.概念和性质 2.思路探索 3.Kruskal算法 4.Prim算法 5.代码实现 1.概念和性质 今天我们考虑的模型是加权无向图,问题 ...
- Python Ethical Hacking - MODIFYING DATA IN HTTP LAYER(2)
MODIFYING DATA IN HTTP LAYER Edit requests/responses. Replace download requests. Inject code(html/Ja ...
- Bash 脚本编程
概述 Bash (GNU Bourne-Again Shell) 是许多Linux发行版的默认Shell. shell语法 变量 定义:your_name="hellohhy" 使 ...