前情提要:
此脚本实现了雨课堂刷视频【1倍数】【自动连播】
若脚本失效,请检查雨课堂网站是否有更新,以免影响脚本执行。
下面是具体步骤(针对萌新)
第一步:
为你的电脑安装和配置Python运行环境,你可以从Python官方网站下载并安装最新版本的Python。
Python官方网站
第二步:
进入Python安装目录,使用pip安装Selenium,输入下列代码
pip install selenium
或是使用PyCharm,方便编码修改和安装依赖库Selenium
PyCharm下载地址
第三步:
查看浏览器版本,并下载浏览器驱动引擎(这里以谷歌浏览器为例子)
找到对应的链接复制到浏览器即可下载,这里提供Windows 64位的下载链接
chrome-win64下载地址
将下载得到的压缩包中的chromedriver.exe复制下来,粘贴到Python安装目录中
(与python.exe同一文件夹)
第四步:
拿到雨课堂登录所用的sessionid,登录雨课堂后按F12打开开发者工具,进入应用-Cookies选项
名称为sessionid的值,就是我们下面代码所要替换的值,可以事先复制下来,需要编辑到代码
Python代码如下所示
# =============================================================================
# 文件名称: yvketang.py
# 功能描述: 本脚本用于自动登录雨课堂平台并播放指定课程的视频。
# 脚本使用Selenium库来模拟用户操作,实现自动化播放。
# 作者: HAPPY
# 创建日期: 2024年11月21日
# 版本: 1.0
# 使用方法:
# 1. 安装必要的依赖库selenium。
# 2. 修改配置信息,登录信息、视频地址等。
# 3. 运行脚本。
# 注意事项:
# - 请确保网络连接正常。
# - 在运行脚本前,请检查雨课堂网站是否有更新,以免影响脚本执行。
# - 本脚本仅供学习交流使用,请勿用于非法目的。
# =============================================================================
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.chrome.options import Options
from time import sleep
# 配置Chrome选项
chrome_options = Options()
chrome_options.add_argument("--mute-audio") # 静音浏览器
# 初始化Chrome驱动
driver = webdriver.Chrome(options=chrome_options)
# 打开目标网站
driver.get("https://www.yuketang.cn/web")
# 等待页面加载
sleep(4)
# 添加Cookie
driver.add_cookie({'name': 'sessionid', 'value':'替换为前面说到的sessionid的值'})
# 刷新页面以使Cookie生效
driver.refresh()
# 再次等待页面加载完成
sleep(4)
# 定义视频地址列表(替换为你的视频播放地址)
video_urls = [
"视频链接_1",
"视频链接_2",
"视频链接_3",
...以此类推
]
def play_video(url):
# 导航到目标视频页面
driver.get(url)
# 等待播放按钮加载
wait = WebDriverWait(driver, 10)
play_button = wait.until(EC.element_to_be_clickable((By.CLASS_NAME, "xt_video_bit_play_btn")))
# 点击播放按钮
play_button.click()
# 等待视频元素加载
video_element = wait.until(EC.presence_of_element_located((By.TAG_NAME, "video")))
# 监听视频结束事件
driver.execute_script("""
arguments[0].addEventListener('ended', function() {
window.videoEnded = true;
});
""", video_element)
# 等待视频播放结束
while not driver.execute_script("return window.videoEnded;"):
sleep(1)
# 播放每个视频
for url in video_urls:
play_video(url)
sleep(10)
driver.quit()
接下来,运行该脚本即可
可以在命令行使用下列代码运行脚本
python xxx.py
或者在前面提到的PyCharm或其他编辑器里运行也可以
最后提醒:
在自动播放视频期间,请不要点击或操作该浏览器窗口的任何内容(包括最小化),否则在当前视频播放完后,会暂停播放。
你仍然可以在电脑上进行任何操作,只需将其他窗口页面遮盖在浏览器窗口上即可。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。