解析主要视频流网站的 URL 并生成适当的嵌入代码

发布于 2024-07-27 05:41:45 字数 218 浏览 8 评论 0原文

在 tumblr.com 上发布视频时,您只需将视频的 URL 粘贴到 youtube、vimeo 等任何地方,tumblr 就会自动为您进行嵌入。

我认为这只不过是 URL 正则表达式和用于嵌入视频的所属 HTML 结构之间的映射。 或者它只是解析 URL 的响应并从那里获取构造。

是否已经有任何实用程序(最好是 Java 中的)可以执行此操作? 如果没有,你会怎么做?

Posting a video on tumblr.com allows you to just paste the URL of the video on youtube, vimeo, whatever and tumblr automatically does the embedding for you.

I assume that this would be nothing more than a mapping between an URL-regex and the belonging HTML construct for embedding the video. Or it is just parsing the response of the URL and getting the construct from there.

Is there already any utility, preferably in Java, for doing this? If not, how would you do it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

勿忘心安 2024-08-03 05:41:45

我不知道有任何实用程序可以做到这一点。 我怀疑没有标准方法可以跨站点执行此操作。

我只会浏览最流行的视频网站,并检查每个网站的嵌入是如何完成的。 将 URL 映射到嵌入的视频应该相当简单。 你可以看看 tumblr 是怎么做的。

I don't know any utilities to do this. I doubt that there are no standard way to do this across sites.

I would just go through the most popular video sites and check how embedding is done in each one. It should be rather straight forward to map a URL to video to embedded. You could check how tumblr does it.

任谁 2024-08-03 05:41:45

我不知道可以为您自动执行此操作的实用程序。
我使用 3 个正则表达式来查找 youtube、vimeo 和 dailymotion 的视频 ID,并使用嵌入代码进行映射。

这是我使用的 3 个正则表达式:

Pattern YOUTUBE_PATTERN     = Pattern.compile("^.*(?:youtu.be\\/|v\\/|e\\/|u\\/\\w+\\/|embed\\/|v=)([^#\\&\\?]*).*");
Pattern VIMEO_PATTERN       = Pattern.compile("^.*(?:vimeo.com)\\/(?:channels\\/|groups\\/[^\\/]*\\/videos\\/|album\\/\\d+\\/video\\/|video\\/|)(\\d+)(?:$|\\/|\\?)");
Pattern DAILYMOTION_PATTERN = Pattern.compile("^.*(?:dailymotion.com)(?:\\/embed)?\\/(video|hub)\\/([^_#\\&\\?]*)[^#]*(?:#video=([^_&]+))?.*");

youtube 和 vimeo 的视频 ID 在第一组中找到。

对于 dailymotion,有一点不同,视频 ID 在组 2 或组 3 中找到。

I don't know utilities that will automate this for you.
I use 3 REGEX to find video ID for youtube, vimeo and dailymotion that I map with the embedding code.

This is the 3 REGEX that I use:

Pattern YOUTUBE_PATTERN     = Pattern.compile("^.*(?:youtu.be\\/|v\\/|e\\/|u\\/\\w+\\/|embed\\/|v=)([^#\\&\\?]*).*");
Pattern VIMEO_PATTERN       = Pattern.compile("^.*(?:vimeo.com)\\/(?:channels\\/|groups\\/[^\\/]*\\/videos\\/|album\\/\\d+\\/video\\/|video\\/|)(\\d+)(?:$|\\/|\\?)");
Pattern DAILYMOTION_PATTERN = Pattern.compile("^.*(?:dailymotion.com)(?:\\/embed)?\\/(video|hub)\\/([^_#\\&\\?]*)[^#]*(?:#video=([^_&]+))?.*");

The video ID for youtube and vimeo is found in the first group.

For dailymotion, there is a little twist, the video ID is found in group 2 or 3.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文