智慧树刷课代码_智慧树刷课插件使用教程
时间:2025-06-24 15:07:26
作者:暂无作者
浏览量:
大学生一名,实在不想天天看智慧树的课,于是就有了智慧树刷课服务,
不想动手。这里有免费的智慧树刷课服务平台:http://dao.cqrzr.com/
不过刷课都需要一些基础,智慧树刷课,自动 1.5 倍速播放,自动静音,自动切换流畅画质,自动关闭网课中弹题,自动切换下一节、下一章自动点击之前,会随机等待0 ~ 60秒,模拟人类操作延迟。
操作步骤:
1.复制代码
2.打开智慧树网课播放的页面
3按下F12打开开发者窗口
4找到Console面板
5按下ctrl+v贴入代码
6按下回车
注意:开启脚本后,请始终保持该网页在最前(即拥有焦点),否则,切换课程时有几率出现播放器异常。
转自github,侵删
求个免费的评分
链接:https://pan.baidu.com/s/1xZKunHSpVStzGrIYD3vXDA
提取码:och9
如果有时候不太好用,试试下面这个,功能就一个 自动下一集使用方法一样
链接:https://pan.baidu.com/s/15JWbxDyXX5Q0X_jIKMSCPA
提取码:owx5
另外,用Python刷课。
我用的是谷歌浏览器,[驱动下载地址](http://chromedriver.storage.googleapis.com/index.html)
需要下载跟浏览器对应版本 的。
我用的是:80.0.3987.106
其中登录使用微信登录,因为账号密码方式登录会被检测到,目前不知道怎么解决。可以参考:[selenium爬虫被检测到 该如何破?](selenium爬虫被检测到 该如何破?)
代码已经写了很详细的注释了。这里就不多啰嗦。
已经写了1.3版本,更加方便
修复了不能跳转下一节的问题,
增加获取课程列表
from selenium import webdriverimport timeimport threadingdef login():设置登录连接url = "https://passport.zhihuishu.com/login?service=https://onlineservice.zhihuishu.com/login/gologin"进入指定链接driver.get(url)点击微信登录print("请在30秒内登录。否则将会退出程序。")try:driver.find_element_by_class_name("signin-way-shjiaoyu").click()except:print("调用微信登录失败")driver.quit()for i in range(1, 30, 1):print("用时:" + str(i))time.sleep(1)if(i<30):try:driver.find_element_by_xpath("//[@id=&9;app&9;]/div[1]/div[3]/div[2]/div[2]/div[1]/ul[1]/li[2]/p[1]").get_attribute("textContent")print("微信登录成功,计时退出")breakexcept:passelse:driver.quit() 获取各种信息class Obtain:获取姓名def obtain_name(self):name = driver.find_element_by_xpath("//[@id=&9;app&9;]/div[1]/div[3]/div[2]/div[2]/div[1]/div[1]/div[1]/p[1]").get_attribute("textContent")print("嗨! " + name + " 你好。")获取课程数以及课程名def Course_number(self):print("获取课程中……")time.sleep(3)获取几门课程number = driver.find_element_by_xpath("//[@id=&9;app&9;]/div[1]/div[3]/div[2]/div[2]/div[1]/ul[1]/li[2]/p[1]").get_attribute("textContent")print("您一共选择了:" + number + "门课程。")获取课程名称for i in range(1, int(number)+1):path = "//[@id=&9;sharingClassed&9;]/div[2]/ul[" + str(i) + "]/div[1]/dl[1]/dt[1]/div[1]"Course_name = driver.find_element_by_xpath(path).get_attribute("textContent")print(str(i) + " " + Course_name)print("-"25)print("\n") 进入视频页def into(num):print("进入视频中")try:driver.find_element_by_xpath("//[@id=&9;sharingClassed&9;]/div[2]/ul["+str(num)+"]/div[1]/dl[1]/dt[1]/div[1]").click()except:print("进入失败,正在重新进入")try:time.sleep(3)driver.get("https://onlineh5.zhihuishu.com/onlineWeb.html/studentIndex")time.sleep(3)driver.find_element_by_xpath("//[@id=&9;sharingClassed&9;]/div[2]/ul[" + str(num) + "]/div[1]/dl[1]/dt[1]/div[1]").click()except:print("第二次进入失败")driver.quit() 关闭课前提示def close():try:time.sleep(3)driver.find_element_by_xpath(&9;/html/body/div[1]/div/div[6]/div/div[1]/button&9;).click()print("关闭我知道了成功")except:pass关闭学前须知try:time.sleep(1)driver.find_element_by_xpath(&9;/html/body/div[1]/div/div[7]/div[2]/div[1]/i&9;).click()print("关闭学前须知成功")except:pass 设置基础def set():设置画面质量try:time.sleep(1)driver.execute_script(&9;document.querySelector("vjs_container > div.controlsBar > div.definiBox > div > b.line1bq.switchLine").click()&9;)设置流畅print("设置流畅成功")except:print("设置流畅失败")设置倍速try:time.sleep(1)driver.execute_script(&9;document.querySelector("vjs_container > div.controlsBar > div.speedBox > div > div.speedTab.speedTab10").click()&9;)1.25倍print("设置1.25倍成功")except:print("设置1.25倍失败")设置静音try:time.sleep(1)driver.find_element_by_xpath(&9;//[@id="vjs_container"]/div[10]/div[6]&9;).click()print("设置静音成功")except:print("设置静音失败") 关闭弹窗def Close_Popup():print("弹窗检测中")while(True):try:time.sleep(5)driver.find_element_by_class_name("topic-item").click()点击第一个答案driver.find_element_by_xpath(&9;/html/body/div[1]/div/div[7]/div/div[3]/span/div&9;).click()点击关闭time.sleep(2)driver.execute_script(&9;document.querySelector("playButton").click()&9;)点击播放print("关闭弹窗成功")except:pass 跳转下一节def play_next():print("下一集检测中")time.sleep(5)总时间total_time = driver.find_element_by_xpath(&9;//[@id="vjs_container"]/div[10]/div[4]/span[2]&9;).get_attribute(&9;textContent&9;)章节chapter = driver.find_element_by_id("lessonOrder").get_attribute(&9;textContent&9;)print("正在观看:" + chapter + " 本节视频总时长:" + total_time)while(True):time.sleep(5)total_time = driver.find_element_by_xpath(&9;//[@id="vjs_container"]/div[10]/div[4]/span[2]&9;).get_attribute(&9;textContent&9;)current_time = driver.find_element_by_xpath(&9;//[@id="vjs_container"]/div[10]/div[4]/span[1]&9;).get_attribute(&9;textContent&9;)print(current_time)if current_time == total_time:print(&9;本节视频播放完成,正在播放下一节&9;)try:driver.execute_script("document.querySelector(&9;nextBtn&9;).click()")当前视频播放结束,点击下一节time.sleep(3)set()except:print("切换下一节失败,正在重试")time.sleep(2)driver.execute_script("document.querySelector(&9;nextBtn&9;).click()")当前视频播放结束,点击下一节if __name__ == &9;__main__&9;:print("智慧树自动看课系统V1.3启动成功")driver = webdriver.Chrome()print("浏览器启动")登录login()创建类实例obtain = Obtain()调用姓名,课程号obtain.obtain_name()obtain.Course_number()输入编号num = input("请输入序号进行刷课:")into(num)关闭我知道了close()设置流畅set()关闭弹窗poput = threading.Thread(target=Close_Popup)跳转下一节next = threading.Thread(target=play_next)poput.start()next.start()
代码有bug 有二级标题的时候会保报错