使用 PHP 下载 Youtube 视频 [已关闭]

2022-08-30 20:05:31

我正在寻找一种使用PHP下载Youtube视频的方法。我已经搜索了几个小时的方法来做到这一点,但不幸的是,我找到的所有Google结果都是几年前的,不再起作用了。

如果有人可以解释如何做到这一点,或者提供一个链接到详细解释它的最新文章,我将不胜感激。

非常感谢。


答案 1

你应该做的第一件事是获得像Fiddler这样的工具,并访问YouTube视频页面。在Fiddler中,您将看到构成该页面的所有文件,包括FLV本身。现在,您知道视频不是CSS文件之一,也不是图像文件。您可以忽略这些。查找一个大文件。如果查看 URL,它以 开头。/videoplayback

现在,一旦你找到了它,弄清楚浏览器是如何知道获取该文件的。在会话中执行搜索 (Ctrl+F) 并查找“视频回放”。您将在转到的第一页上看到一个匹配项,例如 http://www.youtube.com/watch?v=123asdf。如果您仔细研究该文件,您将看到一个ID为“手表玩家”的DIV标签。其中有一个脚本标签来设置flash播放器,其中是所有flash参数。其中是视频的URL。

所以现在你知道如何使用你的工具来弄清楚浏览器是如何到达它的。如何在 PHP 中复制此行为?

在引用视频的页面上执行 。忽略该手表玩家 div 中未包含的所有内容。分析代码,直到找到包含 URL 的变量。从那里,您可能必须取消该URL。拥有它后,您可以执行(或其他一些下载方法,具体取决于您尝试执行的操作)来获取URL。就是这么简单。您的 HTML 解析代码将是最复杂的。file_get_contents()file_get_contents()

最后,请记住,您将要做的事情可能是非法的。检查最终用户许可协议。


答案 2

没有人会写每四周过时一次的手册/操作指南。您可以获得的最接近的是检查当代实现中的实际提取方法。可读性很强:

http://bitbucket.org/rg3/youtube-dl/raw/2010.08.04/youtube-dl

如果你不想通读/重新实现它,这显然不简单,你可以从PHP按原样运行它:

  system("youtube-dl '$url'");

推荐