蔻享学术下载器:KouShare-dl
項目地址:https://github.com/yliu7949/KouShare-dl
有很多功能,如下載蔻享學術www.koushare.com
上的視頻和課件、錄制直播、下載回放視頻等。以下內容摘抄自GitHub,侵刪。
KouShare-dl v0.8.0
目錄
- KouShare-dl v0.8.0
- 功能
- 它目前具有如下功能
- 它無法做到的事情
- "功能支持"表格
- 編譯
- 使用方法
- 命令簡介
- 示例
- 一、登錄賬戶與注銷登陸
- 1.1 登錄蔻享賬戶
- 1.2 注銷登錄狀態
- 二、查看視頻信息
- 三、下載視頻
- 3.1 使用默認參數下載視頻
- 3.2 下載視頻至指定文件夾
- 3.3 下載某個系列的所有視頻
- 3.4 下載不同清晰度的視頻
- 四、錄制直播與下載快速回放
- 4.1 對指定直播間進行錄制
- 4.2 合并錄制的視頻片段
- 4.3 下載直播間快速回放視頻
- 五、下載課件
- 5.1 下載單個課件和系列課件
- 5.2 優化 pdf 文件【實驗性功能】
功能
它目前具有如下功能
-
登錄蔻享賬戶,且一周內免登錄
-
獲取視頻的詳細信息
-
下載單個蔻享視頻或整個系列的視頻
-
下載清晰度為標清、高清和超清的視頻(需要登錄)
-
下載已購買且在有效期內的付費視頻(需要登錄)
-
繼續上一次的視頻下載
-
定時錄制直播間
-
繼續上一次的直播間錄制
-
下載直播間的快速回放🚀
-
下載單個課件或整個系列的課件
它無法做到的事情
- 下載未購買的付費視頻
"功能支持"表格
| 視頻 | ?? | ?? | ?? | ?? | ? |
| 直播 | ? | ?? | ?? | ? | ? |
| 課件 | ?? | ?? | ? | ? | ?? |
(??表示支持該功能,?表示不支持該功能,?表示該功能不存在,?表示部分支持該功能)
編譯
如果您是 Windows 平臺用戶,可以直接下載 Releases
中的可執行文件ks.exe。 否則,您需要下載源代碼自行編譯。
使用方法
您需要通過命令行或終端進入該程序所在的文件夾,才能執行相關命令。
以Windows平臺為例,若可執行程序ks.exe位于C:\Users\lenovo\Downloads\路徑下,您每次使用時需要通過快捷鍵Win+R打開“運行”對話框,輸入CMD后回車打開命令行窗口。在命令行窗口中輸入以下命令:
cd C:\Users\lenovo\Downloads\ ks version若出現KouShare-dl v0.8.0字樣,則說明可以正常使用。接下來您可以繼續輸入 KouShare-dl 程序的命令來進行交互。比如,輸入ks help并回車,您就可以看到 KouShare-dl 程序的幫助信息了。
命令簡介
KouShare-dl 程序的命令具有下面的格式:
ks [command] <flag>其中[command]為必選命令,<flag>為可選參數。
可使用的 command 命令:
help 查看某個具體命令的更多幫助信息info 獲取視頻的基本信息login 通過短信驗證碼獲取“蔻享學術”登陸憑證logout 退出登陸merge 合并下載的視頻片段文件record 錄制指定直播間ID的直播,命令別名為livesave 保存指定vid的視頻(vid為視頻網址里最后面的一串數字),命令別名為videoslide 下載指定vid的視頻對應的課件version 輸出版本號,并檢查最新版本可使用的 flag 參數:
-@, --at 指定時間,格式為"2006-01-02 15:04:05"-a, --autoMerge 指定是否自動合并下載的視頻片段文件-h, --help 查看幫助信息-n, --name 指定輸出文件的名字-p, --path 指定保存文件的路徑(若不指定,則默認為該程序當前所在的路徑)-q, --quality 指定下載視頻的清晰度(high為超清,standard為高清,low為標清,不指定則默認為超清)--qpdf-bin 指定qpdf的bin文件夾所在的路徑(注:該flag無簡寫形式)-r, --replay 指定是否下載直播間快速回放視頻-s, --series 指定是否下載整個系列的文件-v, --version 查看版本號需要注意的是,對于每個 command 命令,僅有部分 flag 參數是可用且有效的。可以通過ks help [command]來查看某個命令的詳細描述及其可用的 flag 參數。
示例
一、登錄賬戶與注銷登陸
登錄蔻享賬戶并不是使用流程中的必須操作,但登錄蔻享賬戶后可以下載更高清晰度的視頻和下載已購買的付費視頻,獲取視頻的基本信息時還可以獲取到更多詳細的內容。
1.1 登錄蔻享賬戶
使用下面的命令登錄蔻享賬戶:
ks login [phone number]其中[phone number]參數為 11 位手機號碼。該命令執行后,手機會收到 6 位短信驗證碼,在命令行中繼續輸入短信驗證碼后回車即可登錄。登錄成功后會在當前路徑下生成一個用于保存登錄憑證的 Token 隱藏文件,Token 有效期為一周,因此一周內無需再次登錄即可保持登錄狀態。
重復運行該命令會自動更新登陸憑證。登錄憑證過期后重新登陸即可。
1.2 注銷登錄狀態
如果想注銷登錄狀態,可以使用這條命令:
ks logout手動刪除程序所在路徑下的.token文件與該命令的執行效果相同。
二、查看視頻信息
查看視頻信息使用ks info [vid]命令。info命令沒有 flag 。
執行該命令后會返回指定 vid 的視頻的詳細信息,包括標題、講者、單位、日期、時長、體積、類別、系列、分組以及視頻簡介等。
幾點說明:
-
非登錄狀態下,“體積”僅展示標清清晰度下的視頻大小;登錄狀態下,“體積”展示最高清晰度下的視頻大小。
-
若“體積”為0MB [未知],則說明該視頻是未購買的(或未在購買有效期內的)付費視頻,此時 KouShare-dl 無法獲取該視頻的體積信息。
-
若“系列”不為空,說明該視頻是屬于某個系列的視頻,比如某精品公開課中的一節課。
您可以試一試下面的例子:
ks info 7304建議下載視頻和課件前使用info命令確認視頻的信息是否正確。
三、下載視頻
每個蔻享學術視頻都有唯一對應的 id,即 vid。 在蔻享學術網站進入某個視頻的播放頁面后,該頁面網址的最后的數字部分即為該視頻的 vid。例如,在下面的網址中,7412是該視頻的 vid。
https://www.koushare.com/video/videodetail/7412下載視頻使用ks save [vid] <flags>命令。與save對應的 flag 有三個:
| -p | --path | 指定保存視頻的路徑 | String | 當前所在路徑 |
| -q | --quality | 指定下載視頻的清晰度 | String | 超清 |
| -s | --series | 指定是否下載系列視頻 | Bool | 否 |
多個 flag 可以不分順序地疊加使用,但Bool類型的 flag 宜放在最后使用。關于命令中 flag 的詳細使用語法,可以參考這里的描述。
3.1 使用默認參數下載視頻
使用save時不加任何 flag ,程序就會使用save的所有 flag 的默認值進行下載。
例如,在登錄狀態下要默認下載 vid 為7552的視頻,可以運行下面這條命令:
ks save 7552該命令執行完畢后,程序所在的路徑下會出現一個.mp4格式的超清視頻文件,這就是下載下來的 vid 為7552的蔻享視頻。
save命令的別名是video,因此ks save 7552和ks video 7552的功能是相同的。
3.2 下載視頻至指定文件夾
若要指定保存視頻的位置,可以加上-p參數,并為其指定一個新值(如D:\temp\)以覆蓋默認值(當前所在路徑),如下所示:
ks save 7552 -p D:\temp\這里的-p是--path的簡寫形式,而-p D:\temp\與--path=D:\temp\是等價的,因此上一條命令也可以等價地修改為:
ks save 7552 --path=D:\temp\若指定的文件夾不存在,程序會創建該文件夾以保存視頻。若遇到Access is denied的錯誤提示,則說明權限不足,此時您需要使用更高的權限來運行 KouShare-dl。
3.3 下載某個系列的所有視頻
系列下載需要指定-s參數,-s或--series參數是Bool型 flag,使用時無需指定具體的值。
您需要知道所要下載的系列視頻中任意一個視頻的 vid。以“中物院研究生院精品公開課之《高等量子力學》公開課程”系列為例,可以使用下面這條命令下載該系列的所有視頻:
ks save 7304 -s程序會使用該系列的名字創建一個文件夾用以存放下載的視頻。7304是該系列第一個視頻的 vid,可被替換為該系列任意視頻的 vid。
若要同時指定保存視頻的位置(如D:\temp\),可以運行該命令:
ks save 7552 -p D:\tmp\ -s3.4 下載不同清晰度的視頻
使用-q或--quality參數來指定下載視頻的清晰度。該 flag 的值只有high(超清)、standard(高清)和low(標清)三種。示例如下:
ks save 7304 -q high ks save 7304 -q standard ks save 7304 --quality=low需要注意的是:
- 非登錄狀態下,-q和--quality參數無效。這是因為非登錄狀態下僅能下載標清視頻。
- 若您指定的該 flag 的值并不在以上三種值之內,程序會判定要下載的清晰度為標清。
- 登錄狀態下,若您要下載的視頻沒有您指定的清晰度,程序會選擇次于您指定清晰度的清晰度進行視頻的下載。
四、錄制直播與下載快速回放
每個蔻享直播間都有唯一對應的 id,即 roomID。 在蔻享學術網站進入某個直播間的頁面后,該頁面網址的最后的數字部分即為該直播間的房間號。例如,在下面的網址中,676216是該直播間的 roomID。
https://www.koushare.com/lives/room/676216錄制直播使用ks record [roomID] <flags>命令。與record對應的 flag 有三個:
| -@ | --at | 開播時間,格式為"2006-01-02 15:04:05" | String | 立即開始錄制 |
| -a | --autoMerge | 指定是否自動合并下載的視頻片段文件 | Bool | 否 |
| -p | --path | 指定保存錄制視頻的路徑 | String | 當前所在路徑 |
| -r | --replay | 指定是否下載直播間快速回放視頻 | Bool | 否 |
合并下載的.ts視頻片段使用ks merge <directory> <flags> 命令。與merge對應的 flag 有一個:
| -n | --name | 指定合并后文件的名字,格式xxx.ts | String | recorded Video File.ts |
4.1 對指定直播間進行錄制
錄制直播時不需要處于登錄狀態下。假如您想要錄制房間號為751111的直播間,可以運行該命令:
ks record 751111 -a執行命令后程序會立即開始錄制。但如果此時尚未開播,您會收到相關提示(距離開播還有一段時間、正式回放視頻已上線等),隨后程序會自動退出。該命令用于錄制已開始直播的直播間,或者查看回放視頻是否上線等信息。
record命令的別名是live,所以 ks record 751111 -a和 ks live 751111 -a的功能是相同的。
如果直播尚未開始,但您知道準確的開播時間,那么可以用-@參數指定開播時間,如:
ks record 751111 -@="2021-07-15 18:30:00" -a運行這條命令后會立即啟動倒計時,到指定的開播時間后 KouShare-dl 會以1080p的清晰度自動開始錄制直播,直播結束時會自動停止錄制。
注:若到指定的開播時間后直播間仍未開播,程序會自動退出。
4.2 合并錄制的視頻片段
在觀看直播時,直播視頻是以一個個小文件(即一些時長較短的視頻片段)的方式傳輸給用戶的。在上一個示例中,指定-a參數后,KouShare-dl 會自動合并下載的直播視頻片段為一個.ts文件(一種視頻文件,可被視頻播放器直接播放)。
有時直播時間過長,自動合并后得到的文件體積較大,不便于傳輸,可以在錄制直播時不指定-a參數,這樣下載下來的直播片段不會自動合并。您可以在傳輸后使用merge命令手動合并.ts視頻片段:
ks merge <directory> <flags>其中<directory>參數為存放視頻片段文件的文件夾的路徑,若為空則默認為程序當前所在路徑。
示例如下:
ks merge ks merge D:\temp\直播錄制 -n 課程.ts ks merge -n output.ts4.3 下載直播間快速回放視頻
示例: 使用ks live 447482 命令得到“快速回放視頻已上線”的信息:
$ ks live 447482直播已結束。快速回放視頻已上線,訪問 https://www.koushare.com/lives/room/447482 觀看快速回放或使用“ks record 447482 --replay”命令下載快速回放視頻。使用ks live 447482 -r 或ks record 447482 --replay命令即可下載快速回放視頻:
$ ks live 447482 -r開始下載快速回放視頻... 2126692489_2083434824_1.ts?start=0 ... 2126692489_2083434824_1.ts?start=1752160 ... 2126692489_2083434824_1.ts?start=3504696 ...... 快速回放視頻下載完成。可使用-p指定保存快速回放視頻的路徑,如:
ks live 447482 -r -p "C:\Users\lenovo\Desktop" ks live 447482 -r --path="C:\Users\lenovo\Desktop"五、下載課件
下載課件使用ks slide [vid] <flags>命令。與slide對應的 flag 有三個:
| -p | --path | 指定保存課件的路徑 | String | 當前所在路徑 |
| 無 | --qpdf-bin | 指定qpdf的bin文件夾所在的路徑 | String | 不使用qpdf |
| -s | --series | 指定是否下載整個系列的所有課件 | Bool | 否 |
5.1 下載單個課件和系列課件
下載課件時不需要處于登錄狀態下。假如您想要下載為 vid 為7405的視頻關聯的課件,可以運行該命令:
ks slide 7405使用info命令查看 vid 為7405的視頻信息,可以發現該視頻的“系列”不為空,說明該視頻還有其它相關視頻。
假如您想下載這個系列視頻的所有課件,可以使用-s參數:
ks slide 7405 -s同樣地,7405可以被替換為同系列任意視頻的 vid。
5.2 優化 pdf 文件【實驗性功能】
該功能當前并不穩定,不推薦使用。
如果想要使用--qpdf-bin標志,需先下載 qpdf包 并進行解壓操作,然后在命令行或終端中指定 qpdf 包的 bin 文件夾所在的路徑,如:
ks slide 7405 --qpdf-bin=C:\Downloads\qpdf-10.1.0\bin\總結
以上是生活随笔為你收集整理的蔻享学术下载器:KouShare-dl的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Makefile教程(这一篇足够从入门到
- 下一篇: 谭浩强《c语言程序设计》第四版--重点难