很抱歉在这个论点上发表另一篇文章,但我不明白为什么这段代码不起作用。
1) 从 /get_video_info?video_id=VIDEO_ID&el=vevo&ps=default&eurl=&gl=US&hl=en 抓取视频信息
2) 如果 use_cipher_signature isset == True 则需要从player_id.js 中抓取信息。需要获取 url_stream_map 后,找到签名,对其进行解码并附加到 video_url(例如 http://r13---sn-nx5cvox-hpay.googlevideo.com/videoplayback?....&signature=decrypted_sig)
我发现最后一个 .js 文件是“player-en_US-vflkqCvzc/base.js”与密码算法
var kt={
DU:function(a){a.reverse()},
ex:function(a,b){var c=a[0];a[0]=a[b%a.length];a[b]=c},
Qv:function(a,b){a.splice(0,b)}
};
lt=function(a){
a=a.split("");
kt.Qv(a,2);
kt.ex(a,6);
kt.DU(a,64);
kt.Qv(a,3);
kt.ex(a,53);
kt.DU(a,58);
kt.ex(a,46);
kt.ex(a,56);
return a.join("")
};
但是当我使用 Algo 解密密码并附加到播放 YouTube 网址时,不起作用
ORIGINAL
AE58CF186D2072E73B0EAC1D1A99D7F34CC772CA.897052860BD23A909A9597C0FCD3FED4F53E870C7
DECRYPTED
A8CF185D2072E73B0EAC1D1799D7F34CC772CA.897052860BD23A90969597C0FCD3FED4F53E8A (Not work!!)
大家好=)我已经找到了这个问题的解决方案。需要在get_video_info中追加参数“sts”,然后进行同样的操作
需要指导请联系我
我还尝试从播放列表下载youtube视频,到目前为止,我能够根据您的指示,基于最新的base.js文件的最新打乱功能来检索网址。
但是网址给了我 您无权查看此页面。 HTTP 错误 403
您能否向我发送一些有关如何检索和使用“sts”的指南,我应该将其附加到请求中? 谢谢!