中科大EPC抢课和预约考试脚本简单版

  • 一、前言
  • 二、代码
  • 三、效果与总结

一、前言

源于EPC约考,每次开放名额很少,用脚本比在网页快的多。使用Python3,涉及requests和re模块。
second_id 的获取:

cookies 的获取:

二、代码

使用的是Jupyter

import requests
import time
import re
#############全局变量管理##################
second_id="xxxx"#个人id
baseURL="https://epc.ustc.edu.cn/"
# 伪造请求头
req_header = {'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36','Content-Type': 'application/x-www-form-urlencoded'
}
#cookie 信息 从浏览器获得 该方法避免了 繁琐的 登录验证码识别
cookies_str="_ga=GA1.3.1307624726.1604932641; sduuid=4d3318d9dxxxx"
# 解析cookie
def SetCookies(cookies_str):cookies={}kv_list=cookies_str.split(';')for kv in kv_list:l=kv.split("=")cookies[l[0]]=l[1]+";Path=/; Domain=.jw.ustc.edu.cn; "return cookies
#获取 提交 链接
def getPostURL(weeks,days,second_id):try:chaxun_url="https://epc.ustc.edu.cn/m_service.asp?second_id="+second_id+"&week_day="+str(days)+"&week="+str(weeks)response = requests.get(chaxun_url, headers=req_header,cookies=SetCookies(cookies_str))if response.status_code==200:patten='exam</td>\r\n\t\t\t\t\t\t\t\t\t<td align="center">(.*?)'#第几周patten+='</td>\r\n\t\t\t\t\t\t\t\t\t<td align="center">(.*?)'#周几patten+='</td>\r\n\t\t\t\t\t\t\t\t\t<td align="center">(.*?)'#考试时间patten+='</td>\r\n\t\t\t\t\t\t\t\t\t<td align="center">(.*?)'#教室patten+='</td>\r\n\t\t\t\t\t\t\t\t\t<td align="center">(.*?)'#预约开始时间patten+='</td>\r\n\t\t\t\t\t\t\t\t\t<td align="center">(.*?)'#预约截至时间patten+='</td>\r\n\t\t\t\t\t\t\t\t\t<td align="center">(.*?)'#可预约patten+='</td>\r\n\t\t\t\t\t\t\t\t\t<td align="center">(.*?)'#已预约patten+='</td>\r\n\t\t\t\t\t\t\t\t\t<td align="center">(.*?)'#学时m1=re.findall(patten, response.text)m2=re.findall('<form action="(.*?)" method="post"', response.text)return True,m1,m2else:print("请求失败")return False,[],[]except Exception as e:print(e)return False,[],[]
# 选课提交
def XuanKe(url):try:URL=baseURL+urlparams={"submit_type":"book_submit",}# book_cancelresponse = requests.post(URL, data=params, headers=req_header,cookies=SetCookies(cookies_str))if response.status_code==200:return Trueexcept Exception as e:print(e)return False
# 任务包装
def run():flag,m1,m2=getPostURL(17,2,second_id)#抢第17周,周二的课if flag:for i in m1:print(i)passfor i in m2:flag=XuanKe(i)if flag:#print(text)passelse:print("脚本有误!")
# 主函数
def main():for i in range(100000):start=time.time()run()print("第"+str(i+1)+"次请求,请求时间:"+str(round(time.time()-start,2))+"秒")#time.sleep(3)#延时0.5s

三、效果与总结

我准备抢的是,17周,周二的考试,13:30开抢,我提前1分钟在跑脚本,结果第一个抢到

中科大EPC抢预约考试脚本简单版相关推荐

  1. 2022年秋中科大-数字图像分析-期末考试试卷回忆版及汇总--USTC

    文章目录 2022年秋季 DIA 回忆版 周文罡 .李礼老师的课 往年链接 2017 2018 2019 2020 2021 2022 前人栽树后人乘凉 考完还有点时间,就记了下题目,之前前辈们的回忆 ...

  2. 【课程总结】2022中科大-数字图像分析-期末考试试卷回忆版及汇总

    文章目录 必须要说的话 2022-7月回忆版 知识点整理-个人版 2017 2018 2019 2020 2021 2022 2022 秋 前人植树,后人乘凉. 喝水不忘挖井人. 如果这篇博客帮到你了 ...

  3. 中科大研究生信息平台抢课脚本低级版本

    中科大研究生信息平台抢课脚本低级版本 一.引言 二.思路 三.程序编写 四.测试 四.总结 一.引言 源于科大的某些开课学院对非本院的学生开课有限制,原则是本院学生优先选课,之后才会给别的学院的学生开 ...

  4. 2019中科大数学考研复试题(回忆版)

    **2019中科大数学考研复试题(回忆版)** 实变函数 1.平面上横坐标或纵坐标为有理数的点集测度为零. 2.{fn}\{f_{n}\}{fn​}是一列可测函数,则 (a)若∫A∣fn−fn−1∣d ...

  5. 中科大c语言期末考试试卷,中科大–中科院试卷清单总汇.doc

    中科大–中科院试卷清单总汇 中科大.中科院试卷清单总汇 许多试卷属中科院系统通用试卷,适用于中科院很多单位 高等数学(甲)(中国科学院研究生院命题试卷)2006--2007 高等数学(乙)(中国科学院 ...

  6. 2022秋-2023-中科大-数字图像分析-期末考试试卷回忆版

    今天晚上刚考完,心累,在这里继续授人以渔(仅供参考,切勿对着复习不看ppt,ppt一定要过两遍). 注意:往年的经验贴,到此为止,全部作废,一个没考.千万不要只对着复习,SIFT没考,canny没考, ...

  7. 中科大软件学院高软期末试题回忆版

    刚刚考完高软,没啥说的,就是默写ppt.趁着题目还没忘记录一下,万一重修了还能参考参考 高质量需求的特点 有哪些需求类型 需求分析的两类基本方法 用例满足的四个必要条件 统一过程的核心要义是什么 模块 ...

  8. 中科大数字图像分析(DIA)知识点总结与考试回忆-2022秋季学期

    文章目录 课程简介 知识点总结(复习用) 考试题回忆 1.三种图像采样效率比较(12) 2.二值化形态学算子的设计(8) 3.逆滤波的基本思想和如何改进(10) 4.图像分割的定义.阈值分割方法(10 ...

  9. 【数字图像分析】中科大2022-2023秋 往年考题汇总

    考题汇总 2017-2018 秋 2018-2019 秋 2018-2019 春 2019-2020 秋 2019-2020 春 2020-2021 春 2021-2022 秋 2021-2022 春 ...

  10. 中科大计算机复试题目,中科大计算机复试笔试部分 09-15

    中科大计算机复试笔试部分 09-15 整理版 2010中科大计算机复试内容 笔试: 离散8道大题,1小时.难度不是很大,但是时间很紧. 第一题:是一个等价命题的判断,不难. 第二题:所有羊都是吃草的, ...

最新文章

  1. xshell问题汇总
  2. mysql数据库连接jar_mysql数据库连接jar包
  3. MySQL InnoDB引擎锁的总结
  4. 一款功能强大的IP查询工具
  5. 全球及中国家庭和公寓用对讲系统行业发展态势及及消费需求调研报告2022-2027年
  6. Sqlmap爆库命令的简单使用
  7. matlab 回路最优,数学建模常用Matlab/Lingo/c代码总结系列——hamilton回路
  8. iPhone 14不会全部采用挖孔屏 仅两款Pro版采用
  9. 简单php网站的mysql优化小结
  10. 程序员除了写代码,还应重视哪些方面?
  11. Enterprise Library 5.0 中的Validators
  12. 凯恩帝绝对坐标清零_凯恩帝 K90T i 数控车床系统使用手册分享
  13. oracle锁表查询及释放进程
  14. Nginx服务(6)——实现Gzip网页压缩和图片压缩
  15. 使用微信实现查卷返利机器人功能
  16. 【论文笔记】Disentangled Graph Collaborative Filtering --- SIGIR2020
  17. Qt Designer如何设置GroupBox的标题字体大小,不改变其他字体
  18. 寒假代练——英雄联盟
  19. 一篇文章搞懂Typescript
  20. 侯捷C++->构造函数

热门文章

  1. 电气绘图软件-AutoCAD Electrical:基本基础(一)
  2. screen投屏怎么用_Screen投屏
  3. VPP TCP定时器
  4. 六款主流数据恢复软件(绿色版)下载
  5. 数学建模MATLAB之分析法(一)
  6. 虚拟机服务器安装iis报错,Windows2008R2安装iis和iis下搭建web服务器(9.18 第七天)...
  7. 简单工厂模式--计算器代码及UML图
  8. 网页自动调入软键盘输入中文
  9. Unity第一人称可视化传送门制作
  10. Flash Player不支持火狐_谷歌浏览器