想下載這個番劇或電影?——初步使用瀏覽器抓包下載你想看的視頻

(emmm.......發現以前可能講的不太清楚,現在重新改寫了一篇。)

該文章可能涉及的一些概念可以從以前的文章裏獲取:

今日天晴,聽歌甚好,旅途的你,想要自由下載喜歡的音頻嗎?

先再鄭重地重申一遍:抓包是合法的(不然每一位爬蟲的人都得去蹲),合法抓包是法律允許的,但如果利用該技術違法盈利或做出對網絡安全有害的行爲,後果自負。

下面介紹的方法主要是偏向於大衆化的初級操作,不會真正涉及或講究”監聽http網絡端口“、”讀取數據流“等等專業術語,但也會通俗地普及或應用一些網絡概念。

(ps:希望不要再來一些評論”用抓包工具不是快xxx嗎?“,“瀏覽器是有限制的啊”(我難道不知道嗎?),本篇是面向大衆,介紹初步入門的在瀏覽器上的原生抓包操作,足夠了)


主題:如何通過瀏覽器自帶的功能合法抓包數據並獲取想要下載的視頻,比如小破站的視頻?

在你嘗試下載小破站的資源時你是否也曾有疑惑:

怎麼下載小破站的視頻,我主要想存這部電影?

怎麼所謂的谷歌的視頻下載插件有時都下載不了報錯的?

爲什麼的一堆谷歌的視頻插件都只能下載1080P?我可是要看4k的man!

另有懂一點的老哥也可能會問:

爲什麼只能從小破站後臺獲取到一堆緩存文件,怎麼整合成一集或者整個電影?

這些緩存文件下載到本地就變成一堆二進制流,不能被電腦識別成視頻是什麼鬼?。。。

如果你有諸如以上的問題,都可以在本篇初步瞭解或解決:

(注意,一定要注意,如果看到有一些不懂的概念,建議都先看一下我之前這一篇提取音頻的操作,開頭也已經給出了,對有很多地方解釋地很詳細了)。

今日天晴,聽歌甚好,旅途的你,想要自由下載喜歡的音頻嗎?

now,回到主題,圍繞上面這些問題,我們將會普及兩個操作:

1. 讓電腦能將下載到網絡資源識別成視頻文件   

2. 從小破站下載你想要的清晰度的視頻

首先說明一下,本人普及的操作宗旨都是使用“原滋原味”的電腦系統環境去操作,比如不仿照某百度搜索某視頻網站千篇一律的假裝專業的科普,不借助無保證的第三方軟件,不借助谷歌擴展工具的插件等等,基本都是你電腦自帶的,儘可能保證電腦的“純潔性”,而且操作並不難,但某些步驟可能有點多(就像喫蘋果和喫剝皮蘋果相比後者會多個剝皮動作)。

廢話不多說,下面立馬開始。

1. 讓電腦能將下載到網絡資源識別成視頻文件 

有好多老哥從網上下載資源後,發現電腦會識別成一堆不知道什麼東西(比如二進制流.bin文件)而不是視頻文件,又有的發現windows本地的播放器Window Media Player(簡稱WMP)無法打開視頻,比如打開時會出現提示:該文件可能已損壞或被修改,錯誤代碼爲XXXXXXXXXX等,比如提示不支持該視頻格式等,比如兩個MP3文件一個打得開一個打不開等,這些問題,歸根結底都是windows的鍋。

微軟Windows本身支持的格式看上去不是挺多,而且WMP只能播放幾種微軟支持的格式,從網上下載的很多的影音文件它根本都播放不了,於是一些僞電腦高手就會說需要下載一個第三方vip播放器什麼格式工廠轉換軟件格式。。。

我們其實只需要恢復播放器的功能,不用額外去裝什麼軟件。

爲什麼是恢復?因爲windows的播放器其實從設計架構基礎來講,幾乎所有音視頻文件都是支持的,但是設計時微軟給你割掉了不做全,故而我們要做的就是恢復完善好Windows Media Player原本就該有的功能,就是給它裝上分析視頻格式的解碼器和分離器(具體概念自主上網搜索),這樣就可以成功識別了。

Windows自帶的原裝播放器很不錯的,音質畫質比很多視頻播放器都接近視頻原生態

如何完善WMP呢,最直接最本質的當然就是通過計算機的C#語言編寫,編寫一堆.dll文件(專業術語:動態鏈接庫),把通用的那些視頻格式的解碼器分離器寫入到WMP播放器軟件目錄下即可。

不過這是對技術人員而言,對非技術人員的其他人來說,直接找到已經編寫幷包裝好的.dll插件安裝就可以了。

這裏放一下四個小插件下載鏈接(都是開源網站的鏈接,開源相對可靠,不必怕有捆綁惡意軟件讀取用戶信息等隱患),已經被包裝成windows的exe文件了,可以依次下載後直接安裝,不需要更改安裝目錄什麼的,直接一路裝下去確定就可以了:

(1). Ffdshow(插入後就能解碼現在的大部分視頻和音頻編碼格式,而且支持字幕和多音軌)

32位:https://udomain.dl.sourceforge.net/project/ffdshow-tryout/Official%20releases/generic%20build%20%28stable%29/ffdshow_rev4531_20140628.exe

64位:https://udomain.dl.sourceforge.net/project/ffdshow-tryout/Official%20releases/64-bit/ffdshow_rev4531_20140628_x64.exe

(2). mplayerc(.FLV格式視頻文件的分離器,下載完解壓安裝即可):

https://udomain.dl.sourceforge.net/project/guliverkli/Media%20Player%20Classic%20%28transl.%29/MPC%206.4.9.0%2B%20%28CZE%29/mpc_6490%2B_2kXP_cze.zip

另外記得再下一個FLV的ax文件(其實也是個dll文件),不過暫時只找到64位的:

https://codecsdownload.com/download_c7ad8b058e68a15d744fb06fec5efb69/Flash_Video_Splitter_x64.exe

(3). Haali Media Splitter(毛子做的分離器插件,原名Haali Matroska Splitter,能支持大多數視頻的分離器)

https://haali.net/mkv/MatroskaSplitter.exe

當你的WMP裝完上面的庫文件後,它本該擁有的功能基本就都有了,如果有什麼還播放不了,基本也可以通過這些軟件的設置修改一下,之後你就可以順暢地用Windows原裝視頻播放器去看國內的一堆視頻了。

2. 例子:從小破站下載你想要的清晰度的視頻

(1)下載音頻

我們首先打開網站,選擇你自己想要看的視頻,進入播放頁面,我這裏以下載《讓子彈飛》爲例,下番下劇也是同理:

想要下載哪種清晰度的視頻,記得先選好哪種清晰度:

隨後按f12打開網頁源代碼,等它播放一段時間,直到資源列表會刷出類似下圖的含有“100026.m4s”和"30280.m4s"標識的網絡接口:

可以看到有好幾條形式都是一串數字+“100026.m4s”或“30280.m4s”

簡單說一下這兩個標識的含義:

小破站的視頻資源傳送的過程,是後臺分別將這個視頻分成靜音視頻(只有圖像)和音頻(只有聲音)兩部分,並採用緩存的方式發送過來的,而“100026.m4s”就表示視頻,"30280.m4s"就表示音頻,而且都是分一段一段傳輸過來的,所以我們網上看視頻其實是被切割成很多段後臺逐個發出來的,加載進度條也是提前加載下一段視頻的緩存,所以纔會有這麼多“100026.m4s”或"30280.m4s"標識的接口。

我們先下載視頻,右鍵任意一個標識有"100026.m4s"的接口,選擇copy -> copy as fetch:

copy完後,選擇操作區域爲Console

鼠標點擊Console,源代碼就會跳出如上界面

再鼠標右鍵粘貼或者ctrl v粘貼到上面:

此處有個點要注意一下,很關鍵,如果你發現粘貼過去的內容有類似下面的兩句,記得將這兩句刪掉。

這兩個涉及“range(範圍)”的參數,作用很顯然就是指定傳送的視頻的長度,去掉之後就會默認整個視頻傳入過來。

如果不刪掉,你下載的就只是這個電影的其中一小段:

然後我們按回車鍵“enter”,下面就會多出一個東西叫 Promise{} ,我們鼠標對準這個Promise,右鍵選擇Store object as global variable:

然後,輸入就會多出一個單詞,記得這個單詞(有可能會是temp1,temp2,temp3......tempN),待會要用,我這裏出現的單詞叫temp3(意思是我把這上面接收到的整個資源都用一個temp3作爲標記):

隨後再在上面輸入下面這段代碼,最好用記事本記下來,格式如下:

變量名.then(_=>_.blob()).then(_=>{

 var a = document.createElement('a')

 var url = window.URL.createObjectURL(_)

 a.href = url

 a.download = ' 填寫你要保存的文件名稱 '

 a.click();

 window.URL.revokeObjectURL(url);

 })

比如,我的就是:

然後再點擊回車鍵”enter“,就會開始下載了,如果下載的影片較大,可能需要等一小會,瀏覽器纔會出現下載畫面,點擊保存即可:

這樣《讓子彈飛》的無聲視頻就下載到我的電腦裏了。

我們需要再下載影片的音頻,同理,如上面操作,選中帶有"30280.ms4"標識的任一條,選擇"copy as fetch":

緊接着步驟都如上面下載視頻的一樣,然後就能將這個音頻保存到你的電腦裏了。

(順帶一提的是,如果你有興趣,也可以嘗試選擇”Copy as cURL(cmd)“或”Copy as PoweShell“,隨後在windows上使用命令行或powerShell通過類似的操作讀取和下載接口的資源,這樣同樣也能保存到音頻。)

(2)合成影片

下載完視頻和音頻後,我們需要合成,這裏我們直接用windows自帶的原裝視頻編輯器(其實就是照片功能)足夠了,不用再找pr啥的複雜視頻處理軟件,在”開始“菜單欄選擇字母 s 就能找到:

至於怎麼操作,也很簡單,打開後,選擇”新建視頻項目“:

先添加視頻,選擇好你的視頻文件,添加後記得點擊”放到情節提要中“:

添加好視頻後點擊”放到情節提要中“;

然後再添加音頻,軟件右邊有個”自定義音頻“,點擊”自定義音頻“,就可以添加音頻文件:

點擊完成後,直接選擇下邊”完成“,再點擊”完成視頻“:

選擇好導出視頻的格式,以及你要保存的位置:

然後等幾分鐘,視頻合成完畢,你要保存的電影就在你選擇的本地文件夾下了。

有一點提醒一下,b站的視頻碼率可能並不是真的超高清的那種,但是下載來觀看或許也足夠了。

假如說,對於騰訊視頻等網站也要採取相應的操作,理論上來講也是差不多的。但是由於不同的網絡接口參數和資源定位等原因,抓包提取會不一樣(例如按上面的初步操作,可能騰訊視頻最多一個接口只能抓到5分鐘的視頻,而且是音頻和視頻組合的5分鐘完整視頻),真正要抓取整個影片的難度會有所不同。

#實用軟件推薦# 

更多遊戲資訊請關註:電玩幫遊戲資訊專區

電玩幫圖文攻略 www.vgover.com