嘿,我知道这个问题过于陈旧和重复,但考虑到youtube API的不断变化的性质及其各种代表性结构,我想再次提出这个问题。 我怎么能得到youtube视频的.flv网址。 请建议我链接或方式或代码(首选java python c)。 谢谢你
答案 0 :(得分:2)
嘿,我知道如何获得.flv网址
步骤:
1.GOTO https://www.youtube.com/get_video_info?asv=3&el=detailpage&hl=en_US&video_id=“+ videoID;
2.在从上面步骤获得的源文件中将有一个参数
3.访问此参数的“url”变量并解码它和Voila!
请注意,根据上述方法https://superuser.com/a/773998
,某些视频无法使用以下链接答案 1 :(得分:2)
get_video_info
页面很有趣。但请考虑以下脚本
function urldecode {
awk -niord '{printf RT ? $0 chr("0x" substr(RT,2)) : $0}' RS=%..
}
curl -s 'www.youtube.com/get_video_info?el=detailpage&video_id=0KSOMA3QBU0' |
awk '/url_encoded_fmt_stream_map/ {print $2}' RS='&' FS== |
urldecode |
awk '
NR==1 {
gsub("=", "\n")
gsub("&", "\n\n")
print
}
' RS=, |
urldecode
这是输出
type video/mp4;+codecs="avc1.64001F,+mp4a.40.2" url http://r15---sn-q4f7dnsd.googlevideo.com/videoplayback?ratebypass=yes&sver=3&expire=1416924562&sparams=gcr%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Cmm%2Cms%2Cmv%2Cratebypass%2Csource%2Cupn%2Cexpire&upn=46fju6Z8Qm4&itag=22&gcr=us&key=yt5&id=o-AHo9GtJdhAeC8V2gYsFz5DB3nSacKl7ZCBp7vwMdfmyO&fexp=904845%2C907259%2C913430%2C914074%2C915516%2C927622%2C932404%2C943909%2C947209%2C947215%2C948124%2C952302%2C952605%2C952901%2C953912%2C957103%2C957105%2C957201&ipbits=0&mm=31&initcwndbps=966250&mt=1416902815&ip=99.109.97.214&ms=au&mv=m&source=youtube quality hd720 s D04D0409FCFC5CFF7BF2ACD0199DCE16AB298DD22B164.EC75C05FC8EE97A55A296B53B85456E915DDBC7F7D itag 22 fallback_host tc.v17.cache7.googlevideo.com
如果您按原样尝试该网址,则无效。它只会在你包含的时候起作用 decrypted s value