Youtube 是現在全球最大的視頻網站,自然是保護機制做的最繁瑣的視頻網站,但相對的網上可以找到解析下載的

解法也最多,熱心維護解析機制的老外也最多。

 

現在最新通用的解析方式是查找網頁裏的 ytplayer json 裏的 影片網址,找到後,可以發現這些網址是會作不規則

的排序,這裡需要先作整理。

 

以這個日本影片為例:https://www.youtube.com/watch?v=d_ynWYURjNU

 

可以看到網頁源碼裏的影片網址

QQ截图20180314100942  

需要先作兩次的 html url decode 然後再作處理,最高解析度的 mp4 就是查找到帶有 mp4 字的網址第一個。

 

在視頻網址的 signature 邏輯,youtube 故意用了障眼法,給了一個不對的 signature,後續就是對這個 signature

進一步解析。

 

在網頁裏的這個 http://s.ytimg.com/yts/jsbin/player-vfllqtOs7/zh_TW/base.js 腳本裏,對於 signature 處理可以

找到:

 

QQ截图20180314102334  

對應到 FK 函數:

QQ截图20180314102415  

再對應到 EK 函數

QQ截图20180314102459  

也就是正確的 signature 字串是從網頁上可以看到的 s= 後面那個簽章字串再作 reverse splice 幾次處理得到新的字串。

 

新生成後的影片下載網址,也是按照 http header 的 referer 加上原先網址,要斷點續傳,設置 header range

初始值,就可以下載了,不像 嗶哩嗶哩 還多一個限流的處理。

 

 

創作者介紹
創作者 把喜歡的視頻下載後慢慢看 就是這麼單純 的頭像
vparser

把喜歡的視頻下載後慢慢看 就是這麼單純

vparser 發表在 痞客邦 留言(0) 人氣( 21 )