通常我們要下載影片時是直接右鍵下載,但是現在很多網站開始採用HLS技術將網站拆成許多.ts的檔案,而原先的下載連結在開啟F12時則會出現.m3u或.m3u8和blob相關的字眼,這種連結是無法直接透過瀏覽器直接下載,這邊會使用VLC Media Player這套開源軟體幫助我們下載影片。
VLC Media Player 下載連結
HTTP Live Streaming,縮寫為HLS,是基於HTTP的串流媒體網路傳輸協定。它的工作原理是把整個流分成一個個小的基於HTTP的檔案來下載,每次只下載一些。當媒體流正在播放時,客戶端可以選擇從許多不同的備用源中以不同的速率下載同樣的資源,允許串流媒體對談適應不同的資料速率。在開始一個串流媒體對談時,客戶端會下載一個包含元資料的擴充 M3U (m3u8) 播放列表檔案,用於尋找可用的媒體流。
首先到我們要抓取的網頁開啟F12開發者,如果出現 Paused in debugger請參考這篇文章
Chrome 開啟F12開發者出現Paused in debugger
首先F12開啟要下載影片的網頁,點一下左邊的鍵頭符號接著在X的畫面中點一下,這時下方的程式碼會變色,然後將程式碼左側的箭頭分別點一下讓程式碼全部展開,最後就會發現結尾是.m3u8的網址,然額這邊示範的網址開頭是../../,這個非一般網頁的hpps開頭,所以要將該網站的網址和下方那一串合併在一起然後複製起來。

10/25更新: 如果點選Network 在下方可以看到 index.m3u8 ,點選他之後旁邊就會看到一串網址將他複製下來,就可以進行下一步了

然後下載並安裝好 VLC Media Player , 點擊選單中的 「開啟網路串流」

點選「網路」,接著將前面複製的拼組網址貼上

然後點擊下方「播放按鈕」旁的往下箭頭符號, 選擇「轉換」

在設定檔中選擇要輸出的影音格式,這邊是選擇將它輸出為「Video for MPEG4 1080P」的影音格式

接著選擇輸出影片的儲存位置,最後只要點擊開始就會開始立即下載m3u8的串流影音

接著只需要等待下方藍色的時間軸跑完後,就可以到剛剛設定的儲存位置觀看影片
