寫在最前:互聯網並非法外之地,爬蟲僅供技術交流
運行環境
-
Tampermonkey 4.3.6
-
ECMAScript5(雖然選擇了5,但是還是用了ES6的語法)
爬取目標
- 每個學堂在線的視頻和導學資源下載
效果呈現
- 視頻界面的下載按鈕可以下載高清或標清的視頻

- 導學界面的下載按鈕可以下載導學的markdown文件,這個用到了turndown這個第三方庫

油猴腳本的編寫
上次的文章已經介紹過怎么用python來編寫爬取視頻字幕。
但還沒有做字幕轉換,這次用油猴腳本來實現,並把字幕存成srt格式。
腳本的兩個鏈接
腳本編寫的核心邏輯
具體的就不細寫了,可以看代碼。
-
第一個關鍵主要就是上一篇文章推導出來的爬取步驟
-
第二個關鍵就是字幕的轉換,把它從json格式的文件轉成srt
json文件里面提供了他的開始時間、結束時間和文本。
對應到srt的文件就是
1 hh:mm:ss.uuu(開始時間) --> hh:mm:ss.uuu(結束時間) text(文本)
-
第三個關鍵就是文件的下載
由於視頻和網站的域名不一樣,利用a標簽設置download屬性無效。所以利用url跳轉來實現。
蘋果電腦的播放測試
ffplay 5.1.2\ 設計方法概述\ 教學視頻.mp4 -vf subtitles=5.1.2\ 設計方法概述\ 教學視頻\(0\).srt

另外提供的一種方案
給不需要字幕的,也不希望下載油猴插件的人提供一種簡便的視頻下載方法。
右鍵視頻 => 檢查元素 => 找到mp4資源連接 => 新窗口打開 => 右鍵另存為
一鍵下載的方案
以現在的爬取經驗來說,是可以做到在python中輸入課程名字,選擇學期,然后就爬取該課程的所有視頻的。后期如果完成會接着更新。