python实现强智科技教务系统抢课(两种方法)

本文介绍了在Python中实现强智科技教务系统抢课的两种方法。第一种是通过获取GET请求并模拟多线程提交选课,第二种是利用Selenium库配合Chrome浏览器模拟人工操作。详细讲述了每个方法的实施步骤,并提醒注意相关参数设置和验证码的处理。
摘要由CSDN通过智能技术生成

前言

又到了选课的时间,又一次被教务系统的预选给安排了,硬是一门都没选中。于是想实现有没有自动捡课的方法。就整体分为两种方法,一种是获取get请求然后由python多线程提交去选课,一种是利用自动化测试的selenium库去调用谷歌浏览器模拟人工选课操作。其实就算都是强智系统,但细节上还是有些差别的。所以也有可能无法实现。这里放出两种方法的代码和流程,仅供参考。

方法一:

直接提交选课的数据包(需要cookie和课程ID),先用同学的账号登录教务系统,进入到选课的地方,打开浏览器的开发模式(按F12),点击Network()我这里是谷歌浏览器,如果是其他的找到网络抓包即可。

image-20200702224248109

点击你想选择课程的选课按钮,得到我们需要的数据包。

image-20200702224333495

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

image-20200702224433288

注意 代码里的User_Agent和Referer也要记得修改,都在数据包里。

下面是代码:

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'
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值