头图

前情提要:
此脚本实现了雨课堂刷视频【1倍数】【自动连播】
若脚本失效,请检查雨课堂网站是否有更新,以免影响脚本执行。

下面是具体步骤(针对萌新)

第一步:
为你的电脑安装和配置Python运行环境,你可以从Python官方网站下载并安装最新版本的Python。
Python官方网站

image.png

第二步:
进入Python安装目录,使用pip安装Selenium,输入下列代码

pip install selenium

image.png

或是使用PyCharm,方便编码修改和安装依赖库Selenium
PyCharm下载地址

image.png

第三步:
查看浏览器版本,并下载浏览器驱动引擎(这里以谷歌浏览器为例子)

image.png

谷歌浏览器驱动引擎下载地址

找到对应的链接复制到浏览器即可下载,这里提供Windows 64位的下载链接
chrome-win64下载地址

将下载得到的压缩包中的chromedriver.exe复制下来,粘贴到Python安装目录中
(与python.exe同一文件夹)

image.png

第四步:
拿到雨课堂登录所用的sessionid,登录雨课堂后按F12打开开发者工具,进入应用-Cookies选项

image.png

名称为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或其他编辑器里运行也可以

最后提醒:

在自动播放视频期间,请不要点击或操作该浏览器窗口的任何内容(包括最小化),否则在当前视频播放完后,会暂停播放。
你仍然可以在电脑上进行任何操作,只需将其他窗口页面遮盖在浏览器窗口上即可。


HAAPY
1 声望0 粉丝