作者MAXCAI (國王的抽鬼牌)
看板Python
標題[問題] 遇到JS加密
時間Sun Jul 15 20:08:13 2018
最近在爬一些影音網站做練習
在一個問題上卡了幾天,上來請教大家
先上網址:
http://www.58b.tv/vod-play-id-101903-sid-1-pid-1.html
最終目標為抓到影片檔的播放網址如下:
http://sn-3dgzrb3kjj86.isplayer.com:8888/videoplayback?expire=1531670124&id=e9
5825d1cb87714a&ip=114.41.18.55&itag=59&key=0adaeeefeaa271941dcf9bf27c196ead
&mime=video%2Fmp4&sn=sn-3dgzrb3kjj86&t=1531655724&tm=106365
經過觀察後發現 須先想辦法取得一個轉換網址 如下:
http://www.58b.tv/168player/?url=fun58_1gBfXtnoi4V%2BfZ%2FoZZ3gmy8lt2dCEYVDJJt
Qz0sTaSTDGRugZHAB85IXdXeBIZtv&kubovid=101903
&kubocid=66&ts=1531655700&sign=baedec29f5bcf0aa9cd70ee1f8222704
目前網站數值已經找到 url= kubovid= kubocid= ts=
只剩下 sign=後面數值要取得
在經過觀察後發現 最後一串數值是從網站的js算法後產生的數值
網址如下:
http://www.58b.tv/Public/player2.8/bj58.js?ver=2.51
原本想要寫一個跟網址裡面一樣的算法去取得
但看到解密後的算法後發現這不現實
請問大家有沒有其他辦法可以取得這最後的數值嗎?
因為最終運行環境的關係 無法運行selenium PyV8
目前只確定能運行 js2py
以上 還請大家指導了 謝謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.41.18.55
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1531656497.A.E1F.html
→ vi000246: 直接用能直譯js的lib吧 07/16 00:11
→ s860134: 偷偷跟你說,這些傢伙的加密法九成是open source 07/16 12:59
→ s860134: google cmd5x 前面三個應該是你要的東西 07/16 13:10
→ coeric: 我只會抓取flv的格式,其餘暫時無解 07/16 13:12
→ coeric: sign我是不打算想盡辦法去算 直接用selenium去取即可 07/16 13:13
推 s860134: 樓上方法也是比較聰明的解法,你可以參考 07/16 13:17
推 rexyeah: 我也覺得與其花時間去解不如用selenium等app自己解 07/16 14:47
推 rexyeah: 恩 我剛試了 抓video.src丟給wget就抓下來了 07/16 14:50