如何在发布链接时将YouTube视频嵌入您的网页

时间:2012-07-02 00:56:10

标签: python google-app-engine youtube youtube-api jinja2

我有一个网站,它可以获得很多与youtube和类似网站的链接,我想知道是否有可以让链接自动显示为视频。就像在Facebook上发布视频链接时发生的情况一样。您可以在页面上正确播放。有没有办法在没有用户实际发布整个嵌入视频HTML代码的情况下执行此操作?

顺便说一句,我使用谷歌应用引擎与python和jinja2模板。

3 个答案:

答案 0 :(得分:4)

每个YouTube视频都有一个唯一的ID,该ID存在于网址中。

这里的例子:

  

http://www.youtube.com/watch?v=DU0Q0U08gAc&feature=g-all-esi

     

http://youtu.be/DU0Q0U08gAc

在这种情况下,DU0Q0U08gAc是电影ID。

这只会插入到embed标记中,如下所示:

<iframe width="560" height="315" src="http://www.youtube.com/embed/DU0Q0U08gAc" frameborder="0" allowfullscreen></iframe>

因此,您需要解析id的url并将其插入到embed标记中。我相信youtu.be样式链接的情况下,它只是'/'之后的任何内容,而在youtube.com链接的情况下,最好使用{{ {3}}库从url的查询字符串中获取'v'变量。如果有一个我不知道的角落案例,希望有人会说话。

答案 1 :(得分:3)

你的解决方案是Micawber ...它有纯Python,以及Django和Flask插件。与Jinja很好地配合。将视频和图片嵌入到您的应用中,就像Facebook一样。你可以通过pip安装它。好文档;容易遵循的例子。作者对问题做出回应。效果很好,而且完全免费。看看:

http://readthedocs.org/projects/micawber/

您还可以查看http://oembed.comhttp://embed.ly ...虽然后者不是免费的,但起价为19美元/月(截至2012年7月)。

答案 2 :(得分:0)

从列表值获取链接时使用此代码。在iframe内的模板中,使用以下代码

src =“ {{results [0] .video_link}}”

“ video_link”是字段名称。