100行代码教你教务系统自动抢课!

您所在的位置:网站首页 大学生抢课用什么浏览器 100行代码教你教务系统自动抢课!

100行代码教你教务系统自动抢课!

2024-07-06 10:06| 来源: 网络整理| 查看: 265

帮助广大学生解决抢课问题!自动抢课!! 100行代码帮你实现抢课! 代码有不明白的 欢迎来微信公众号“他她自由行”找我,回复任何话都可以 我都会回你哒~

  本项目使用了python中splinter的API接口用来操作页面交互,用了twilio用来给手机发送短信通知抢课成功。

  欢迎大家来全球最大同性交友网站Github:https://github.com/xubin97 来fork我的菜鸡代码,希望你能来继续增加更多功能,我也会不定期更新功能!

  其中splinter API文档链接:https://splinter.readthedocs.io/en/latest/mouse-interaction.html

加载各种包,例如splinter、time、twilio包等; from selenium.webdriver.chrome.options import Options #初始化浏览器 from splinter.browser import Browser #加载splinter与页面交互 from browsermobproxy import Server #浏览器驱动 from time import sleep #时间模块 from twilio.rest import Client #向手机发送信息模块 访问一个页面时可能也会访问其他资源,例如js、css等,这时就要保证我们能获取所有的请求。 #获取所有网络请求 server=Server("D:/splinter/browsermob-proxy-2/browsermob-proxy-2.1.4/bin/browsermob-proxy") server.start() proxy=server.create_proxy() 初始化浏览器,使其能访问其他资源 chrome_options=Options() chrome_options.add_argument('--proxy-server={host}:{port}'.format(host='localhost',port=proxy.port)) #disable-infobars 书写类,能完成登录、访问、筛选出要抢的课、循环点击选课、抢课成功能发送短信通知你等功能 class HuoChe(object): """docstring for Train""" driver_name='Chrome' executable_path='D:\爬虫实战\12306\chromedriver_win32' #用户名 密码 username = u"your_username" passwd = u"your_password" """网址""" # 强智教务系统登录URL select_url = "http://............" # 强智选课页面URL login_url = "http://............." def __init__(self): print("Welcome To Use The Tool") #登录函数 def login(self): proxy.new_har() self.driver.visit(self.login_url) #填充密码 self.driver.fill("userAccount",self.username) #sleep(1) self.driver.fill("userPassword",self.passwd) print("等待验证码,自行输入....") while True: if self.driver.url != self.initmy_url: sleep(1) else : break #抢课成功,利用twilio发送短信的函数 def send_message(): account_sid="your_sid" auth_token="your_auth_totken" client=Client(account_sid,auth_token) clienssages.create( body=u" 抢课成功,请登录查看 ",to="+86你注册twilio时手机号",from_="+twilio分配给你的手机号") #登录进入,开始抢课 def start(self): #选择模拟的浏览器类型 self.driver = Browser(driver_name='chrome') self.driver.driver.set_window_size(1400,1000) self.login() self.driver.visit(self.select_url) #选择你想抢课的种类,名字或教学方式 self.driver.find_by_text(u'公选课选课').click() class_name=u"网络授课" #利用iframe表格找到想选的课的选课按钮,然后点击 #循环点击所有要抢的课的选课id,当抢课成功发送短信通知 if self.driver.find_by_id('mainFrame'): with self.driver.get_iframe('mainFrame') as frame: b=frame.find_by_name("skls") b.fill(class_name) frame.find_by_value(u"查询").click() #要抢课的id列表 list=[......] #循环抢课,提示抢课成功后发送手机短信通知 A=False while A==False: for i in range(len(list)): frame.find_by_id(list[i]).click() with frame.get_alert() as alert: alert.accept() if alert.text=="选课失败:此课堂选课人数已满!": alert.accept() continue elif alert.text=="选课成功": alert.accept() A=True print('抢课成功') #调用发送短信函数 self.send_message() break else: alert.accept() continue if __name__=="__main__": train = HuoChe() train.start() 对啦~ 代码有不明白的 欢迎来微信公众号“他她自由行”找我,回复任何话都可以 我都会回你哒~


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3