作者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://webptt.com/cn.aspx?n=bbs/Python/M.1531656497.A.E1F.html
1F:→ vi000246: 直接用能直译js的lib吧 07/16 00:11
2F:→ s860134: 偷偷跟你说,这些家伙的加密法九成是open source 07/16 12:59
3F:→ s860134: google cmd5x 前面三个应该是你要的东西 07/16 13:10
4F:→ coeric: 我只会抓取flv的格式,其余暂时无解 07/16 13:12
5F:→ coeric: sign我是不打算想尽办法去算 直接用selenium去取即可 07/16 13:13
6F:推 s860134: 楼上方法也是比较聪明的解法,你可以参考 07/16 13:17
7F:推 rexyeah: 我也觉得与其花时间去解不如用selenium等app自己解 07/16 14:47
8F:推 rexyeah: 恩 我刚试了 抓video.src丢给wget就抓下来了 07/16 14:50