MENU

基于Python模拟鼠标的抢课实现

June 4, 2020 • 折腾日记阅读设置

0.背景

最近又要选课了,我们学校比较奇怪,并不是全看手速。

高绩点、高年级的同学有更高优先权,但课程如果被同学释放了仍然可以直接去抢

这样的政策进而催生了好同学更容易上到无脑 4.0 的水课,普通同学就更有可能踩雷课的滚雪球现状。

现实中买卖课程的情况也非常严重,高年级学长学姐将多余的学分都选了通识课,再出售或赠送给低年级的同学。

于是贫穷且无助的我催生了截胡他们交易的想法,即在卖家释放课程的时候,用脚本抢到释放的课程。

1.网课平台

我们用的并不是主流的方正系统,而是一个非常古老的ASP网站,网上我并没有找到现成的油猴脚本等抢课方案。

然后这套祖传代码也很难搞,大概是我太菜了叭

它的 Cookie 返回一下就失效了,也没提交接口,直接后端传值。

2.模拟鼠标

反正我也搞不清楚大佬说的 解析DOM 的方法,就想直接用 Selenium 或者 Pyautogui 实现吧。

反正系统也没有验证码,其他同学也是靠手速,于是选用了更方便的后者来实现。

代码如下:

import pyautogui #引用库
import time
import sys

i = 0  #计数器
try:
    while i < 10000 :
        pyautogui.click(3353,1916) #第一个点的位置
        time.sleep(0.001) #让鼠标休息一下下
        pyautogui.click(3069,950)
        time.sleep(0.001)
        pyautogui.click(2960,748)
        time.sleep(0.001)
        pyautogui.click(2184,409)
        time.sleep(0.001)
        pyautogui.click(3162,685)
        time.sleep(0.001)
        i=i+1
except KeyboardInterrupt:
    sys.exit(0)

3.效果

还真的很管用,大家都是大晚上开始交易的,我睡觉前挂在了那边,第二天起来就有课程上钩啦!

4.卖课的坏想法

一节课好课通常可以卖到三位数的价格,真的是太诱惑了!

我可以卖给别人,再自己来截胡,这样成本无限,需求还能不断被满足。

不过我胆子小,还是想安安稳稳的毕业。

虽然这个只是类似自动重拨电话机的原理,但是被人举报了大概还是会凉凉叭。

Leave a Comment

已有 1 条评论
  1. 跨境电商 跨境电商

    感谢分享