YouTube电影下载器是如何工作的? - YouTube

9

5
可以接受更多答案以获得更多回答。 - Kerry Jones
2个回答

16

更新:此答案可能已过时,请参见下面的评论。这将最终发生,因为YouTube逐步淘汰FLV并转向HTML5视频...

他们只需解析链接以获取实际的FLV文件并下载它。

这是通过从URL复制视频标识符来完成的:

http://www.youtube.com/watch?v=WEeqHj3Nj2c

用于请求有关视频的信息:

http://www.youtube.com/get_video_info?&video_id=WEeqHj3Nj2c

视频信息包括一个 TOKEN,你可以使用它来发起另一个请求:
http://www.youtube.com/get_video?video_id=WEeqHj3Nj2c&t=TOKEN

如果一切顺利,YouTube会回复HTTP 303 See Other,包括一个带有Location标头的直接链接到FLV文件。

1
谢谢这个!!!这太棒了,我想我也可以对大多数其他网站做同样的事情吗? - RadiantHex
5
是的,每个网站都有FLV可用的地方。YouTube可能比大多数网站更难找!使用像FireBug这样的工具来监视您的浏览器和服务器之间的交流,以找到FLV的存放位置。 - Dolph
嘿,dolph,我尝试了你的步骤。在获取到令牌后,我尝试获取头部信息,但是YouTube只返回了301。 我使用curl来获取头部信息,结果返回了301。 当我使用get_headers时,我得到了200个头部信息,但是没有文件位置。这里可能出现了什么错误? - Jeyaganesh
1
看起来我的答案现在可能已经过时了。如果有人想要分解修订后的过程,请从监视加载YouTube页面时的HTTP请求/响应流量开始(我使用Firebug和/或Chrome开发者工具,但任何类似的工具都可以使用)...你应该能够看到整个过程,然后削减掉不必要的步骤。如果你成功了,请分享你的结果! - Dolph

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接