首页 > 其他分享 >北京交通大学自动选课软件

北京交通大学自动选课软件

时间:2023-06-16 23:46:16浏览次数:53  
标签:脚本 选课 Python 验证码 课程 自动 使用 软件

BJTU-course-autoget

北京交通大学自动选课软件,python自动化网络请求,高效稳定。
项目地址:https://github.com/hyskr/BJTU-course-autoget
!!!我们的目标是帮助每一个因课程交易而受影响的学生选择他们心仪的课程,并且我们强烈谴责买卖课程和囤积课程以出售的行为。

依赖

这个Python脚本的依赖项包括以下库:

  1. requests:用于发出网络请求,如GET和POST。
  2. json:用于处理JSON格式的数据。
  3. re:正则表达式库,用于处理和匹配字符串。
  4. base64:用于进行Base64编码和解码。
  5. time:用于处理时间和延迟。
  6. BeautifulSoup:用于解析和处理HTML文档。
  7. tqdm:用于添加一个进度提示信息

你可以使用pip来安装这些依赖库,使用下面的命令:

pip install requests beautifulsoup4 tqdm

其他的库如jsonrebase64time都是Python内置的,无需额外安装。

食用方法

这是一个抢课脚本的Python代码,旨在自动帮助用户在北京交通大学的课程选择系统中抢课。但是,请注意使用此类脚本可能违反学校的使用条款和政策,因此在使用前请仔细考虑可能的后果。此外,此脚本需要用户具备一定的Python编程知识才能正确使用。

以下是这个脚本的大概使用方法:

  1. 配置个人信息:你需要在脚本中提供自己的学号(user_id),密码(user_password),以及要抢的课程列表(course_list)。同时,你还需要提供图鉴验证码API的用户名(tujian_uname)和密码(tujian_pwd)以解析登录时的验证码。请注意,你需要在图鉴官网注册并购买API使用权限。
  2. 运行脚本:一旦你提供了所有必要的信息,你就可以运行这个脚本。它首先会登录到北京交通大学的网站,并获取用于后续操作的cookie。
  3. 获取所有课程信息:脚本会从北京交通大学的网站上获取所有课程的信息,并筛选出你想要抢的课程。
  4. 抢课:脚本会持续尝试选择你想要的课程,直到成功或达到设定的重试次数(RETRY_LIMIT)。每次尝试都会解析新的验证码,这是通过调用图鉴API实现的。

请注意,这个脚本在抢课的过程中可能会产生大量的网络请求,可能会引起学校或网络服务提供商的注意。使用这个脚本的风险由使用者自己承担。

特点

  1. 一旦Cookie失效,程序将自动重新登录,确保流程的连续性和完整性。
  2. 不再需要手动输入验证码,提供了快速且高效的体验。
  3. 全自动化的操作设计,无需亲自监督,帮你节省宝贵的时间,微信实时获取状态消息。

p.s.

get.py是重构版本,但由于在重构过程中选课系统已经关闭,因此无法测试其是否可用。

old.py是初版代码,代码冗长丑陋,仅用于自己使用,但确保了其可用性。

两个版本都添加了解决登录和提交时验证码的方法,所以可以放心使用。

我会在之后的选课开始时及时完善各种功能,请跟进了解。

如果有任何修改建议或改进方法,请及时提出,我作为一个新手会及时进行改进。

如果不会操作或者操作中遇到问题,可以联系我解决。

我们的目标是帮助每一个因课程交易而受影响的学生选择他们心仪的课程,并且我们强烈谴责买卖课程和囤积课程以出售的行为。

请注意,使用此类脚本可能会违反学校的使用条款和政策,所以在使用前请仔细考虑可能的后果。这包括可能会产生大量的网络请求,可能会引起学校或网络服务提供商的注意。使用这个脚本的风险由使用者自己承担

标签:脚本,选课,Python,验证码,课程,自动,使用,软件
From: https://www.cnblogs.com/hellohhy/p/17486713.html

相关文章

  • Python自动化运维
    2-27在命令行窗口中启动的Python解释器中实现在Python自带的IDLE中实现print("Helloworld")编码规范每个import语句只导入一个模块,尽量避免一次导入多个模块不要在行尾添加分号“:”,也不要用分号将两条命令放在同一行建议每行不超过80个字符使用必要的空行可以增加代码的可读性运算......
  • springboot2 自动装配原理
    springboot自动装配Spring支持两种bean配置方式:XML配置、JavaConfig配置@SpringBootApplication注解我们创建一个springboot项目后,一般要用该注解,然后在springbootApplication.run方法传入标注了该注解的类,这样就可以去加载spring的相关操作@SpringBootApplicationpublic......
  • 网安--自动化信息收集水泽
    水泽运行原理: 环境安装1、当前用户对目录具有写权限2、python环境必须在3.7以上3、在配置文件iniFile/config.ini里加入api(fofa、shodan、github、virustotal等等)调用信息收集平台的apipythonShuize.oy--p    设置代理-d    查找目标域名-c     收......
  • python自动使用虚拟环境和安装依赖
    代码如下,Windows环境测试通过importosimportplatformimportreimportsysfrompathlibimportPathdefis_venv()->bool:"""判断是否处于虚拟环境(也适用于poetry的)"""ifhasattr(sys,"real_prefix"):returnTruer......
  • jquery根据json自动生成表格
    <!DOCTYPEhtml><html><head><metacharset="utf-8"><title>导入文件</title><linkrel="stylesheet"href="/js/bootstrap.min.css"><scriptsrc="/js/jquery.min.js&q......
  • 自动驾驶中的行人检测技术有哪些?(二)
    在智慧交通领域,行人检测已经取得了不少成就。利用图像分割、深度学习等计算机视觉技术,行人检测为自动驾驶行业发展提供了重要的技术保障,使得自动驾驶车辆能够更加准确地感知和理解周围环境,并做出更加智能和安全的决策。下面,本文将继续介绍自动驾驶中常见的行人检测技术。 一......
  • springBoot 自动装配
    1.前言自动装配则是SpringBoot的核心,自动装配是如何实现的呢?为什么我们只要引入一个starter组件依赖就能实现自动装配呢,接下来就让我们一起来探讨下SpringBoot的自动装配机制2.自动装配原理提到自动装配,那么你首先得知道spring的SPI(serviceproviderinterface)机制,因为......
  • Intellij IDEA_Intellij IDEA下载「Java开发」软件大全
    IntelliJIDEA软件简介IntellijIDEA是一个综合性的Java编程环境,最突出的功能自然是调试(Debug),可以对Java代码,JavaScript,JQuery,Ajax等技术进行调试。IntellijIDEA把Java开发人员从一些耗时的常规工作中解放出来,显著地提高了开发效率。分别是它的WINDOWS、LINUX版本。[下载地址]:后......
  • EViews下载(附序列号及教程)-EViews10.0破解版免费下载 软件大全
    EViews最新版是一款世界性的计量经济学软件,EViews最新版拥有创新的图形化的用户界面和强大的分析引擎,完美结合了现代软件技术和您需要的特征,EViews最新版可以快速和有效的管理您的数据。有需要的小伙伴快来下载使用吧。[下载地址]:后台私信我Eviews软件具有以下特点:1.强大的数据处......
  • 「Java JDK官方下载」Java JDK 8.0 软件大全
    JavaSEDevelopmentKit18简称JDK18,目前已于2022年3月22日全面上市,此版本的功能和时间表是通过JEP流程提出和跟踪的,并由JEP2.0提案进行了修订。该版本是使用JDK发布流程(JEP3)生成的。可从Oracle获得GPL下的生产就绪二进制文件;其他供应商的二进制文件将很快推......