現在很多視頻網站都用上了 blob 加密視頻源URL,使得以前通過 Network 抓視頻源地址下載視頻的方式不管用了
簡單理解一下 blob 加密視頻源,就是把一個視頻文件分割成多個 ts 文件分段加載。其實視頻文件還是在 Network 里找得到只不過原來是一個文件,現在是無數個 ts 文件而已
拿優酷舉例,優酷的視頻是 blob 加密,並且可以抓到 ts 文件列表。
這次記錄就拿優酷的一個視頻來舉例,視頻播放地址: https://v.youku.com/v_show/id_XMzc3MTE1MDkxMg==.html?spm=a2hbt.13141534.1_3.d_1_6&s=f4487f8e61ad11e0bea1
需要的工具:貓爪瀏覽器插件 長這樣的。Chrome瀏覽器或者Chrome內核的瀏覽器(比如360極速,筆者用的就是360極速)都可以安裝。
開始抓視頻
1、安裝貓抓后,打開要下載的視頻地址貓抓就會開始分析當前頁面的資源;
2、找到 ts 文件集合的地址列表,一般列表資源后面有個放大鏡,點開放大鏡就能看到 ts 資源列表;
3、下載列表中的所有 ts 文件,所有 , 所有 ,所有,都要下,建議開迅雷 集中下到一個文件夾;
4、得到一個有很多 ts 文件的文件夾,有的網站的 ts 文件群的命名有順序還好,有些網站的 ts 文件群是無序的;
5、對於無序命名的 ts 文件群就需要對所有 ts 文件按順序重命名,建議用阿拉伯數字順序命名,方便合成。貓抓的解析頁面的地址列表就是 ts 文件的正確順序,對於無序 ts 命名可以對照貓抓解析頁面的列表。大量文件以此重名名是個不小工作量,純手動肯定是不可能的,筆者用的半手動方式,個人覺得已經很方便了,各位看官有更好對無序 ts 文件群順序重命名的方法歡迎留言;
5.1、先准備一個重命名的 Python 腳本。
import os os.rename('F:\\download\\HBNLcXeV.ts','F:\\download\\0001.ts')
有多少個 ts 就復制多少行 os.rename('F:\\download\\HBNLcXeV.ts','F:\\download\\0001.ts')
5.2、按貓抓解析頁面 ts 文件的順序對 Python 腳本進行整理,格式參照下圖;筆者建議 用 Sublime Text 來編輯 Python 重命名腳本,支持多行同時修改粘貼,還可以用 ZenCoding 語法快速順序編號 (關於 ZenCoding 參照 https://www.cnblogs.com/MirageFox/p/5583714.html );
5.3、准備好重命名腳本后,執行腳本,可以得到全部按順序編號命名的 ts 文件群,接下來就可以開始合並文件群了。
6、用 cmd 命令合並 ts 文件群,命令 : copy/b F:\1816\*.ts F:\newfile.ts 執行后 F盤1816文件夾 下的所有 ts 文件會按文件名順序合並為一個 名為 newfile.ts 的文件。
注:參考資料
7、ts 文件轉碼,推薦用格式化工廠 轉為主流視頻文件格式 例如,avi 、 mp4 等,直接用 ts 文件也可以播放,只是有點不流暢,當然覺得 ts 文件可以直接用的也可以忽略轉碼。
筆者記錄非常詳盡,中間有優化部分歡迎大家留言提意見。