资讯动态

AutoUnipus核心架构深度解析:U校园自动答题脚本中Playwright与requests如何完美协作

发布时间:2026/9/19 18:20:56 来源:尧图企业网站定制
AutoUnipus核心架构深度解析U校园自动答题脚本中Playwright与requests如何完美协作【免费下载链接】AutoUnipusU校园脚本,支持全自动答题,百分百正确 2024最新版项目地址: https://gitcode.com/gh_mirrors/au/AutoUnipusAutoUnipus 是一款基于 Python 的 U校园自动答题脚本核心架构由两大引擎构成Playwright 负责浏览器自动化操作requests 负责直接调用课程接口请求正确答案。两者分工协作实现网课练习题的自动作答答案正确率高达 100%。本文将用通俗的语言带你拆解这套架构的运作原理。 项目概览这个U校园自动答题脚本能做什么AutoUnipus 是一款开源的 U校园网课自动答题脚本预设了两种运行模式模式行为适合场景自动模式Automode自动识别必修练习题逐题作答并自动提交一劳永逸批量刷完课程练习辅助模式Assistmode你进入题目界面后按 Enter 键程序自动选中正确答案不自动提交降低触发安全验证的概率程序启动后会自动登录 U校园并跳转网课网站图形验证码需手动输入。详细功能说明见 README.md。️ 核心架构Playwright 与 requests 的分工很多人以为自动答题只能靠模拟点击但 AutoUnipus 聪明地把任务拆给了两个工具各司其职组件角色典型工作Playwright浏览器自动化引擎启动 Edge/Chrome、填写登录表单、等待页面加载、点击选项与提交按钮requests轻量级 HTTP 客户端解析课程 URL、携带身份令牌调用接口、请求并解析答案数据这种浏览器干界面、接口干数据的混合架构是它区别于纯点击脚本的关键——答案不是从页面猜出来的而是直接从服务端接口取回的。 Playwright 浏览器自动化详解自动登录与页面控制浏览器侧的全部逻辑集中在主程序 AutoUnipus.py 中整个流程可以概括为四步启动真实浏览器根据配置文件选择 Edge 或 Chrome 渠道启动并授予麦克风、摄像头权限在线课程需要参考init_page()函数 AutoUnipus.py。自动填写登录表单定位用户名、密码输入框填入账号密码自动勾选记住我并点击登录按钮见auto_login()AutoUnipus.py。若出现图形验证码程序会在输入框里提示你手动填写。智能等待与定位利用 Playwright 的wait_for_selector等待关键元素出现如课程列表、练习入口再逐一点击进入必修练习。模拟真人勾选答案拿到正确答案后程序定位页面上对应的input[value选项]并点击选中最后点击下一页/提交按钮核心逻辑在auto_answer()中 AutoUnipus.py。值得一提的细节程序会把浏览器视口调整为屏幕实际可用尺寸让自动化操作更接近真实用户浏览体验。⚡ requests 接口请求详解100%正确率的答案从哪来答案获取的魔法全部封装在 res/fetcher.py 模块中核心是两个函数第一步获取题目标识 qidfetch_qid()先用正则从当前浏览器地址中解析出课程与章节编号拼出课程的 summary 接口地址再发起请求拿到每一道题的qidquestion ID代码见 res/fetcher.py。第二步请求并校验正确答案fetch_ans()的思路非常巧妙 res/fetcher.py构造一份全选 A的虚拟作答数据向 submit 接口发起 POST 请求服务端会返回每道题的判断结果isRight程序把答错的选项字母后移一位A→B→C…再次提交验证循环往复直到所有题目isRight全部为真——此时拿到的就是保证正确的答案。虚拟作答(A A A A) → 服务端判分 → 错项 1 → 再验证 → 直至全对 ✅正因为答案来自服务端判分接口而非页面文本解析才有了正确率 100%的说法。 两大引擎的协作流程从登录到提交Playwright 与 requests 之间有一个精妙的衔接点会话令牌共享。浏览器登录后登录态保存在页面的localStorage.jwtToke中requests 每次发请求前都会通过page.evaluate()从浏览器里读取这个 JWT 令牌放入请求头X-Annotator-Auth-Token从而借用浏览器的登录身份调用接口。完整数据流如下Playwright打开登录页 → 自动填表登录 → 浏览器持有会话令牌 用户或程序进入某道练习题页面⚡requests读取 JWTGET summary 接口获取全部题目的 qid⚡ POST submit 接口提交虚拟答案逐轮修正直到全对 拿到正确答案后回到浏览器逐题点击对应选项 点击提交完成作答若发现特殊题型则自动中止提交并提示整个过程里浏览器只负责看得见的界面操作接口只负责看不见的数据交换两条通道互不干扰又实时同步。 两种运行模式自动模式与辅助模式怎么选模式由 account.json 中的Automode字段决定true为自动模式false为辅助模式两种模式的入口分别是 AutoUnipus.py 的auto_func()和assist_func()自动模式遍历class_url中所有课程链接自动完成每一课的全部必修练习适合批量处理。辅助模式常驻待命你手动进入题目页面后按 Enter程序选完答案即停提交由你确认——适合对检测到异常行为提示比较敏感的场景。 快速上手填写配置文件即可运行使用非常简单核心就是填好 account.json 这个配置模板{ username: 你的账号, password: 你的密码, Automode: true, Driver: Edge, class_url: [网课链接1, 网课链接2] }各参数含义详细说明见 README.mdusername/passwordU校园账号密码Automode运行模式不加双引号、字母小写Driver浏览器选择Edge或Chrome首字母大写class_url自动模式必填网课课程页链接如需获取项目源码可执行git clone https://gitcode.com/gh_mirrors/au/AutoUnipus⚠️ 常见问题与注意事项仅支持单选题遇到特殊题型或页面无题目时程序不会提交作答并在界面弹窗提示存在不支持题型图形验证码需手动输入登录页出现验证码时按提示填写即可安全验证不必担心答题中途若提示检测到异常行为手动完成验证即可继续介意的话可改用辅助模式出错自动留痕程序异常时会自动把错误日志写入log.txt方便排查。写在最后AutoUnipus 虽然代码量不大但架构思路很值得学习用 Playwright 解决人机交互用 requests 解决数据获取再用一个共享的 JWT 令牌把两条通道缝合起来。这种浏览器自动化与接口请求相结合的设计模式对想学习 U校园自动答题原理、乃至各类网页自动化项目的同学来说都是一个很好的入门范本。 本项目仅可用于学习和研究计算机原理请勿用于非法用途。【免费下载链接】AutoUnipusU校园脚本,支持全自动答题,百分百正确 2024最新版项目地址: https://gitcode.com/gh_mirrors/au/AutoUnipus创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价