前情提要:
此腳本實現了雨課堂刷視頻【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或其他編輯器裏運行也可以
最後提醒:
在自動播放視頻期間,請不要點擊或操作該瀏覽器窗口的任何內容(包括最小化),否則在當前視頻播放完後,會暫停播放。
你仍然可以在電腦上進行任何操作,只需將其他窗口頁面遮蓋在瀏覽器窗口上即可。