關(guān)于學(xué)xx線網(wǎng)站在線字幕下載的討論
以https://next.xuetangx.com/learn/THU0201Kc001158/THU0201Kc001158/16905510/video/36120287
這個(gè)課程為例。
加入課程后,我們隨便打開(kāi)一節(jié)視頻,可以看到是有字幕的

右鍵空白處,點(diǎn)最后一個(gè)“檢查”,選擇“網(wǎng)絡(luò)”這一頁(yè),然后我們刷新一下網(wǎng)頁(yè)。

刷新完后,在“網(wǎng)絡(luò)”這個(gè)頁(yè)面按ctrl+F打開(kāi)“搜索”,在方框內(nèi)輸入“/api/v1/lms/service/”,點(diǎn)一下旁邊的刷新鍵,下面會(huì)出現(xiàn)幾個(gè)項(xiàng),需要注意的是帶有“playurl”和“subtitle_parse”這兩項(xiàng)。

我們先看playurl的這個(gè),點(diǎn)一下它,將右邊的“請(qǐng)求URL”后面的鏈接復(fù)制到地址欄打開(kāi),可以看到一個(gè)界面,里面有兩個(gè)鏈接,即為本視頻的視頻文件。quality值越大的對(duì)應(yīng)鏈接的視頻更清晰。


我們接著看subtitle_parse這一項(xiàng),還是打開(kāi)“請(qǐng)求URL”后面的鏈接,可以看到內(nèi)容包括兩個(gè),一個(gè)是"start",一個(gè)是"text"。前者對(duì)應(yīng)的這些數(shù)值應(yīng)該與時(shí)間有關(guān),標(biāo)明了字幕出現(xiàn)的時(shí)間,但是這個(gè)加密的方式未知,所以不知道怎么把它轉(zhuǎn)為時(shí)間刻;后者即為Unicode編碼的字幕,轉(zhuǎn)換一下可以發(fā)現(xiàn)就是視頻的字幕。如果能夠找到方法能夠找到轉(zhuǎn)換時(shí)間的方法,那么結(jié)合后面的字幕文本,利用js和python應(yīng)該可以批量化操作,下載字幕。



參考鏈接:
https://www.cnblogs.com/xuanyu-10-18/p/13731539.html
https://www.cnblogs.com/xuanyu-10-18/p/13739527.html
(里面提供的腳本也許改改還能用,但是我不會(huì)??)