在YouTube上使用get_video下载video
我正在尝试获取像这样的任何YouTubevideo的videourl:
打开
http://youtube.com/get_video_info?video_id=VIDEOID
然后取出account_playback_token
令牌值并打开这个URL:
http://www.youtube.com/get_video?video_id=VIDEOID&t=TOKEN&fmt=18&asv=2
这应该打开只有video的网页或开始下载的video。 但没有任何反应,Safari的活动窗口显示“找不到”,所以URL有问题。 我想将它集成到一个iPad应用程序中,并且用于获取在iPhone版本的应用程序中使用的videoURL的javascript方法不起作用,所以我需要另一个解决scheme。
YouTube一直在改变,我认为这个url已经过时了。 请帮忙 :)
编辑:这似乎是get_video方法不工作了。 我真的很感激,如果有人能告诉我另一种方式来findvideourl。
谢谢,我真的需要帮助。
对不起,这是不可能的了。 它们将令牌限制在获取它的IP上。
这是一个使用get_headers()
函数的解决方法,该函数为您提供了一个包含video链接的数组。 我不知道什么关于ios
,所以希望你可以自己重写这个PHP代码。
<?php if(empty($_GET['id'])) { echo "No id found!"; } else { function url_exists($url) { if(file_get_contents($url, FALSE, NULL, 0, 0) === false) return false; return true; } $id = $_GET['id']; $page = @file_get_contents('http://www.youtube.com/get_video_info?&video_id='.$id); preg_match('/token=(.*?)&thumbnail_url=/', $page, $token); $token = urldecode($token[1]); $get = $title->video_details; $url_array = array ("http://youtube.com/get_video?video_id=".$id."&t=".$token, "http://youtube.com/get_video?video_id=".$id."&t=".$token."&fmt=18"); if(url_exists($url_array[1]) === true) { $file = get_headers($url_array[1]); } elseif(url_exists($url_array[0]) === true) { $file = get_headers($url_array[0]); } $url = trim($file[19],"Location: "); echo '<a href="'.$url.'">Download video</a>'; } ?>
我用这个,它岩石: http : //rg3.github.com/youtube-dl/
只需从浏览器复制一个YouTubeurl,然后使用YouTubeurl作为唯一参数执行此命令即可。 它会弄清楚如何find最好质量的video,并为你下载。
大! 我需要一种方法来抓取整个video播放列表 。
在Linux中,这是我使用的:
y = http://www.youtube.com ; F = “http://gdata.youtube.com/feeds/api/playlists/PLeHqhPDNAZY_3377_DpzRSMh9MA9UbIEN?start-index=26”; ($ curl -s $ f | grep -o“url ='$ y / watch?v = [^'] '”); do d = $(echo $ i | sed“s | url \ =' $ y / watch?v =(。 )&。*'| \ 1 |“); youtube-dl –restrict-filenames“$ y / watch?v = $ d”; DONE
您必须从以下常见YouTubeurl中find播放列表ID: https : //www.youtube.com/playlist?list = PLeHqhPDNAZY_3377_DpzRSMh9MA9UbIEN
另外,这种技术使用gdata API,每页限制25条logging。
因此,?start-index = 26参数(在我的例子中得到第2页)
这可以使用一些清理,并通过所有25套迭代的逻辑。
积分:
https://stackoverflow.com/a/8761493/1069375
http://www.commandlinefu.com/commands/view/3154/download-youtube-playlist (这本身并没有很好的工作)
- 如何从URL下载文件并存储在文档文件夹中
- 下载时进度条
- 方法resolvePolicyForNavigationAction有时不被调用
- BackgroundSession SessionDownloadTasklocking屏幕时,错误:NSPOSIXErrorDomain Code = 1
- 如何从互联网下载audio/video文件,并存储在iPhone应用程序?
- 使用React Native下载数据文件以供脱机使用
- 如何取消或暂停MKNetworkKit iOS的下载操作?
- 在UITableView中显示可下载内容的正确方法(使用ProgressBar等)
- TestFlight错误“您的请求无法完成”?