最近一学期一次的抢课大戏又来了,几家欢乐几家愁。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实现教务系统扩容抢课!的更多相关文章

  1. 广州商学院Python正方教务系统爬虫(获取个人信息成绩课表修改密码)

    使用python的requests库简单爬取,使用xpath解析内容 可以获取个人信息.个人照片.成绩单和课表 github地址:https://github.com/PythonerKK/GZCC- ...

  2. 利用Python进行windows系统上的图像识别与点击(Mac OS系统也可以)

    系统环境: 1.安装了python 2.安装了pyautogui模块 windows系统:无需安装依赖模块,在cmd中直接输入pip install pyautogui即可完成安装 Mac OS系统: ...

  3. 牛逼了,利用Python实现“天眼系统”,只要照片就能了解个人信息

  4. 利用Python完成一个小游戏:随机挑选一个单词,并对其进行乱序,玩家要猜出原始单词

    一 Python的概述以及游戏的内容 Python是一种功能强大且易于使用的编程语言,更接近人类语言,以至于人们都说它是“以思考的速度编程”:Python具备现代编程语言所应具备的一切功能:Pytho ...

  5. 利用python进行数据分析之数据规整化

    数据分析和建模大部分时间都用在数据准备上,数据的准备过程包括:加载,清理,转换与重塑. 合并数据集 pandas对象中的数据可以通过一些内置方法来进行合并: pandas.merge可根据一个或多个键 ...

  6. 利用python web框架django实现py-faster-rcnn demo实例

    操作系统.编程环境及其他: window7  cpu  python2.7  pycharm5.0  django1.8x 说明:本blog是上一篇blog(http://www.cnblogs.co ...

  7. 爬虫学习笔记(1)-- 利用Python从网页抓取数据

    最近想从一个网站上下载资源,懒得一个个的点击下载了,想写一个爬虫把程序全部下载下来,在这里做一个简单的记录 Python的基础语法在这里就不多做叙述了,黑马程序员上有一个基础的视频教学,可以跟着学习一 ...

  8. Python 利用Python操作excel表格之xlwt介绍

    利用Python操作excel表格之xlwt介绍   by:授客 QQ:1033553122 直接上代码   案例1 #!/usr/bin/env python # -*- coding:utf-8 ...

  9. 【转】利用python的KMeans和PCA包实现聚类算法

    转自:https://www.cnblogs.com/yjd_hycf_space/p/7094005.html 题目: 通过给出的驾驶员行为数据(trip.csv),对驾驶员不同时段的驾驶类型进行聚 ...

随机推荐

  1. MYSQL 之 JDBC(二): 数据库连接(二)通过DriverManager获取数据库连接

    通过DriverManager获取数据库连接 修改一下配置文件 driver=com.mysql.cj.jdbc.Driver jdbcUrl=jdbc:mysql://localhost:3306/ ...

  2. selenium报错Element is not clickable at point及四种解决方法

    使用Selenium时,触发点击事件,经常报如下异常:Element is not clickable at point 1.未加载没加载出来就等待元素加载出来,再往下执行.可以使用python库ti ...

  3. 数据可视化之DAX篇(十)在PowerBI中累计求和的两种方式

    https://zhuanlan.zhihu.com/p/64418286 假设有一组数据, 已知每一个产品贡献的利润,如果要计算前几名产品的贡献利润总和,或者每一个产品和利润更高产品的累计贡献占总体 ...

  4. Producter and Consumer

    package pinx.thread; import java.util.LinkedList; import java.util.Queue; public class ProducerConsu ...

  5. matlab中的静态变量与全局变量

    matlab中的静态变量和全局变量 1.静态变量 在matlab中,和其他语言一样,函数中的变量一把都是局部变量,也就是说,在函数调用完毕后,变量就会被释放.但是有些时候回希望上次改变的变量在下一次调 ...

  6. 机器学习实战---决策树CART回归树实现

    机器学习实战---决策树CART简介及分类树实现 一:对比分类树 CART回归树和CART分类树的建立算法大部分是类似的,所以这里我们只讨论CART回归树和CART分类树的建立算法不同的地方.首先,我 ...

  7. 网上一些sql题目的解决(网上答案+自己答案)

    此篇博客内容引自“MySQL经典练习题及答案” 废话不不多说!!! 建表.插入数据. --建表 --学生表 CREATE TABLE Student( s_id VARCHAR(20), s_name ...

  8. eclipse的使用小技能

    eclipse的使用小技能 文章来源:http://blog.csdn.net/ljfbest/article/details/7465003 关于eclipse的使用方面,其实有些东西都是小技巧的东 ...

  9. T1 找试场 题解

    拖延症又犯了QwQ. 今天上午考试了,按照惯例,我仍然要把我会的所有题的题解写一遍. 1.找试场(way.cpp/in/out) 问题描述 小王同学在坐标系的(0,0)处,但是他找不到考试的试场,于是 ...

  10. 关于Java8的精心总结

    前言 ​ 最近公司里比较新的项目里面,看到了很多关于java8新特性的用法,由于之前自己对java8的新特性不是很了解也没有去做深入研究,所以最近就系统的去学习了一下,然后总结了一篇文章第一时间和大家 ...