简单实现大学选修课抢课脚本(Python)

这篇具有很好参考价值的文章主要介绍了简单实现大学选修课抢课脚本(Python)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大学选修课抢课

需要准备的

  • Python环境

完善代码在:抢课脚本

实现步骤

1.实现登录功能

首先进入教务系统,按下F12键进入浏览器的开发者模式,输入账号、密码、验证码后进行抓包。通过抓包,可以发现几个接口:

登录接口:http://jwxt.xtu.edu.cn/jsxsd/xk/LoginToXk
获得验证码的接口:http://jwxt.xtu.edu.cn/jsxsd/verifycode.servlet

同时发现登录接口的参数是经过了加密的,它的参数如下:

USERNAME: 121
PASSWORD: 2342
encoded: 11G52wnj17%16%Rt%17220336w4o93295C
RANDOMCODE: fs

其中encoded明显是加密的数据。通过查找页面源码,我们发现它是通过一个js函数实现加密的。
这里先不细说了。完整部分在这里。
登录部分代码先不放置了,CSDN不给通过。具体可以看这里抢课脚本

2.实现选课功能

具体步骤为:

  • 点击选课中心:http://jwxt.xtu.edu.cn/jsxsd/xsxk/xklc_list
  • 选择文化素质教育课程选课:http://jwxt.xtu.edu.cn/jsxsd/xsxk/xsxk_index?jx0502zbid=C99F1E600A81471C82A92A3F646273C6
  • 选择公选课选课:http://jwxt.xtu.edu.cn/jsxsd/xsxkkc/ggxxkxkOper?jx0404id=202220232010579&xkzy=&trjf=
  • 搜索课程:http://jwxt.xtu.edu.cn/jsxsd/xsxkkc/ggxxkxkOper?jx0404id=202220232010579&xkzy=&trjf=

选课部分没有什么难点,按下F12键找到相应的接口即可,但需要注意的是对课程进行搜索时,如果输入的是中文,接口部分的参数会是经过两次URL编码的值,即:

search_content = input('请输入课程名称:')
## 进行两次URL编码
search_content = urllib.parse.quote(search_content)
search_content = urllib.parse.quote(search_content)
print('编码信息:' + search_content)

该部分的代码为:

# 进入选课界面
choose_course_page_entry = session.get('http://jwxt.xtu.edu.cn/jsxsd/xsxk/xklc_list',headers=headers)
# print(choose_course_page_entry.text)
bs1 = BeautifulSoup(choose_course_page_entry.text,'html.parser')
# 找到选课的几个表格
choose_course_table = bs1.select('#tbKxkc tr')
## 删除第一个元素
choose_course_table.pop(0)
# print(len(choose_course_table))
choose_course_name = []
choose_course_link = []
print('选课中心内容展示如下:')
for line_tr in choose_course_table:
    # print(line_tr)
    name = line_tr.find_all('td')[1].text
    course_link = line_tr.find_all('td')[3].find_all('a')[0]['href']
    choose_course_link.append(host+course_link)
    choose_course_name.append(name)
    print(name + ":" + host + course_link)
number = eval(input('请进行你的选择:'))
course_page = session.get(choose_course_link[number-1],headers=headers)
if number == 1:
    # 文化素质教育课程选课
    wenhuasuzhi(session,header=headers)
elif number == 2:
    kuaxiaogongxiang(session,header=headers)
    print('暂未开发')
elif number == 3:
    print('暂未开发')
elif number == 4:
    print('暂未开发')

总结

上面部分只是对抢课流程的一个大致介绍,还有一些细节等待完善,如:

  • 使用一些python的包对验证码进行识别
  • 将用户名、密码、课程名字放在命令行输入
  • 设置定时函数,当到某个点的时候开始抢课
    经过以上,自动化抢课脚本也就实现了。

需要注意的是,上面的代码只对文化素质教育课程选课部分进行了实现,其他部分没有实现。
后续会将完善的代码放在资源当中。文章来源地址https://www.toymoban.com/news/detail-488466.html

到了这里,关于简单实现大学选修课抢课脚本(Python)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【免费题库】华为OD机试 - 选修课(Java & JS & Python & C & C++)

    哈喽,本题库完全免费,收费是为了防止被爬,大家订阅专栏后可以私信联系退款。感谢支持 现有两门选修课,每门选修课都有一部分学生选修,每个学生都有选修课的成绩,需要你找出同时选修了两门选修课的学生,先按照班级进行划分,班级编号小的先输出,每个班级按

    2024年04月09日
    浏览(67)
  • 【华为OD统一考试B卷 | 100分】选修课(C++ Java JavaScript Python)

    华为OD在线OJ: 已购买本专栏用户,请私信博主开通账号,在线刷题!!! 在线OJ:立即刷题 题库专栏:2023华为OD机试(A卷+B卷)(C++JavaJSPy) 现有两门选修课,每门选修课都有一部分学生选修,每个学生都有选修课的成绩,需要你找出同时选修了两门选修课的学生,先按照班级

    2024年02月08日
    浏览(52)
  • 华为OD真题--选修课--带答案

    2023华为OD统一考试(A+B卷)题库清单-带答案(持续更新)or2023年华为OD真题机考题库大全-带答案(持续更新) 项目描述 现有两门选修课,每门选修课都有一部分学生选修,每个学生都有选修课的成绩,需要你找出同时选修了两门选修课的学生,先按照班级进行划分,班级编

    2024年02月14日
    浏览(43)
  • 【华为OD机试】选修课【2023 B卷|100分】

     【 华为OD机试】-真题 !!点这里!! 【 华为OD机试】真题考点分类 !!点这里  !! 题目描述 现有两门选修课,每门选修课都有一部分学生选修,每个学生都有选修课的成绩, 需要你找出同时选修了两门选修课的学生,先按照班级进行划分,班级编号小的先输出, 每个班级按照

    2024年02月08日
    浏览(42)
  • 新员工入职培训选修课《提高时间的效能》考试答案

    中电金信新员工入职培训选修课《提高时间的效能》考试答案 z

    2024年02月10日
    浏览(49)
  • 【华为OD机试真题2023B卷 JAVA&JS】选修课

    知识点字符串哈希表排序 时间限制:1s 空间限制:256MB 限定语言:不限 现有两门选修课,每门选修课都有一部分学生选修,每个学生都有选修课的成绩,需要你找出同时选修了两门选修课的学生,先按照班级进行划分,班级编号小的先输出,每个班级按照两门选修课成绩和

    2024年02月09日
    浏览(62)
  • Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

    分析相关功能所抓取的数据包和完整大作业报告(word版)均已上传至 Wireshark抓包分析微信功能----tcp/ip选修课期末大作业-网络监控文档类资源-CSDN文库 适合Wireshark入门的小伙伴们或者赶计算机网络期末大作业无从下手的uu们。 铁汁们,请放心食用!加油吧,期末人!开卷,绝

    2024年02月08日
    浏览(62)
  • python实现复旦大学选课系统自动抢课神器抢课软件Courcegoblin抢课软件ver 1.0

    朋友最近遇上选课困难,手速慢,总是抢不到心仪的课程,我目前正好找不到爬虫项目练手,于是写了个面向复旦选课系统的抢课小软件帮助朋友抢课 首先需要这些模块: 第一步需要做的是通过身份认证并爬取csrf-token,在选课网站登陆后复制cookies到代码中,这是服务器识别

    2024年02月10日
    浏览(90)
  • 大学生选修选课系统|基于Springboot的大学生选修选课系统设计与实现(源码+数据库+文档)

    大学生选修选课系统目录 目录 基于Springboot的大学生选修选课系统设计与实现 一、前言 二、系统功能设计  三、系统实现  1、用户信息管理 2、 课程信息管理 3、排课信息管理 4、公告信息管理  四、数据库设计 1、实体ER图   五、核心代码   六、论文参考 七、最新计算机

    2024年03月11日
    浏览(73)
  • Python实现京东茅台抢购脚本, 原来这么简单

    前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 开发环境: python 3.8 运行代码 pycharm 2022.3.2 辅助敲代码 专业版 京东茅台抢购脚本可以分为以下几部分,具体实现步骤如下: 1. 登录京东账号 首先需要登录京东账号。 一个简单的方式是使用Python的 selenium 库。 在使用 seleniu

    2024年02月13日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包