中国大学MOOC 视频字幕获取及处理方法
最近上課需要做筆記,但是,一句句的抄字幕工作量有點大,于是查找了一此方法,嘗試成功,在此記錄下下:
1、首先,打開你所要下載字幕的視頻,如?https://www.icourse163.org/learn/NUDT-1003101005?tid=1003312002#/learn/content?type=detail&id=1004836185&sm=1
2、在當前頁面按F12鍵,然后點擊network,接著按ctrl+F會出來一個搜索框,然后在當前頁面按F5刷新該頁面(也可以點擊瀏覽器的刷新按鈕)
3、在搜索框中輸入:downloadVideoSrt.htm,進行搜索,會得到如下結果,雙擊搜索到的鏈接,右邊會顯示一條黃色代碼,復制url后的地址到瀏覽器中即可下載該視頻的字幕文件,一般為txt文件。
4、得到字幕之后,將其重命名為如下格式:
例如,將(2)所示課程對應的字幕文件重命名為3-3-1.txt,表示第3講第3小節的第一個視頻字幕文件(本小節共有2個視頻),字幕內容如右所示,接下來我將用python提取其中的字幕,去掉其他部分。具體程序如下:
import rejiang = 3 # 定義是第幾講 xiaojie = 1 # 定義是第幾小節課 fileNum = 2 # 定義本節共有幾個視頻文件,將這些文件中的字幕提取到一起resultContent = "第"+str(jiang)+"講-第"+str(xiaojie)+"節\n" newFile = "E:\\new\\第" + str(jiang) + "講-第" + str(xiaojie) + "節字幕.txt" print(newFile) fnew = open(newFile, "w+", encoding="utf-8") for i in range(1, fileNum+1):fileName = str(jiang)+"-"+str(xiaojie)+"-"+str(i)+".txt"oldfile = "E:\\source\\" + fileNamef = open(oldfile,encoding="utf-8")line = f.readline()fileContent = ""while(line):try: # 如果本行只有數字,則跳過本行,繼續處理一下行int(line)line = f.readline()continueexcept ValueError:passline = re.sub(r'\d{2}:\d{2}:\d{2},\d+', '', line)# line= re.sub(r'\d+\n', '', line)line = line.replace("-->", "").replace("\n", "")fileContent = fileContent + lineline = f.readline()resultContent = resultContent + fileContent + "\n\n"print("resultContent" + resultContent) fnew.write(resultContent)f.close() fnew.close()簡單處理后的結果如下:
同時會將每一小節的輸出內容寫入txt文檔中,保存在E:\new路徑(也可以另外指定其他路徑)下,然后將本講的所有小節內容手動將其復制到word中(因為python自動生成wrod文檔的話會出現格式問題)。
若在下有可以幫到的地方或您有更好的優化方法,歡迎留言建議。
總結
以上是生活随笔為你收集整理的中国大学MOOC 视频字幕获取及处理方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python价值观测试程序例子_PyBr
- 下一篇: Linux C高级编程——网络编程之以太