当前位置: 首页 > 面试题库 >

如何使用Java从URL获取youtube视频ID?

阚小云
2023-03-14
问题内容

我想使用Java从YouTube网址获取v = id

YouTube网址格式示例:

&a=GxdCwVVULXctT2lYDEPllDR0LRTutYfW
](http://www.youtube.com/watch?v=u8nQa1cJyX8&a=GxdCwVVULXctT2lYDEPllDR0LRTutYfW)
//www.youtube.com/watch?v=u8nQa1cJyX8) //youtu.be/0zM3nApSvMg) http://www.youtube.com/watch? / user /
IngridMichaelsonVEVO#p / a / u / 1 / KdwsulMb8EQ

//youtu.be/dQw4w9WgXcQ)
http://www.youtube.com/embed/dQw4w9WgXcQ

http://www.youtube.com/v/dQw4w9WgXcQ
http
://www.youtube.com/e/dQw4w9WgXcQ
//www.youtube.com/watch?v=dQw4w9WgXcQ)
http://www.youtube.com/?v=dQw4w9WgXcQ
http://www.youtube.com /
watch?feature = player_embedded&v = dQw4w9WgXcQ

http://www.youtube.com/?feature=player_embedded&v=dQw4w9WgXcQ

http://www.youtube.com/user/IngridMichaelsonVEVO#p/u/11/KdwsulMb8EQ
http://www.youtube-
nocookie.com/v/6L3ZvIMwZFM?version=3&hl=zh_CN&rel=0

或其他任何youtube格式,其中网址中包含视频ID

我正在尝试:-

  Pattern compiledPattern = Pattern.compile("(?<=v=).*?(?=&|$)",Pattern.CASE_INSENSITIVE);      
        Matcher matcher = compiledPattern.matcher(sourceUrl);
        if(matcher.find()){
            setVideoId(matcher.group());
        }

它不只对一个URL有效:

//youtu.be/6UW3xuJinEg)


问题答案:

我找到了解决方案..我扩展了该URL ..及其工作..

public static String expandUrl(String shortenedUrl)  {
        URL url;
        String expandedURL = "";
        try {
            url = new URL(shortenedUrl);
            // open connection
            HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection(Proxy.NO_PROXY); 
            // stop following browser redirect
            httpURLConnection.setInstanceFollowRedirects(false);
            // extract location header containing the actual destination URL
            expandedURL = httpURLConnection.getHeaderField("Location");
            httpURLConnection.disconnect();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }    
         return expandedURL;
    }


 类似资料:
  • 问题内容: 我想从JavaScript的YouTube网址中获取(没有jQuery,纯JavaScript)。 YouTube URL格式示例 或网址中包含视频ID的任何其他YouTube格式。 这些格式的结果 问题答案: 您不需要为此使用正则表达式。

  • 问题内容: 此PHP函数在情况1中无法正确获取ID,但在情况2中将无法获取ID。情况1非常常见,其中YouTube ID后面可能包含任何内容。 我在想的是,必须有一种方法可以查找“ v =“,无论它位于URL中的什么位置,然后再取字符。这样,就不需要复杂的RegEx。这是基地吗?对起点有什么想法吗? 问题答案: 这就是我从YouTube网址中提取ID的方法。我认为它在所有情况下都有效。 请注意,最

  • 问题内容: 如果我有YouTube视频URL,是否可以使用PHP和cURL从YouTube API获取关联的缩略图? 问题答案: 每个YouTube视频都有四个生成的图像。可以预计,它们的格式如下: 列表中的第一个是全尺寸图像,其他是缩略图图像。默认的缩略图图像(即,一个,,)为: 对于缩略图的高质量版本,请使用类似于以下内容的URL: 缩略图还有一个中等质量的版本,使用类似于HQ的URL: 对于

  • 我如何从youtube频道获取持续时间和浏览量都很重要的视频? 我试过这个请求: https://www.googleapis.com/youtube/v3/search?part=snippet, id 但响应不包含持续时间/视图计数。有什么想法吗?谢谢。

  • 所以一般的问题是如何从开放流中播放视频?例如Chrome、Firefox和KMPlayer都很容易做到这一点。浏览器生成一个带有视频标签的简单页面,因此通过JS来管理播放器将是微不足道的。但是...内部WebBrowser控件不能,它建议下载文件。我尝试了CEFSharp(Chrome嵌入式框架),但没有成功。也许有人知道好的视频播放器WPF库,可以流视频吗?我也尝试了vlc.wpf和Shockw

  • 我有一个包含 500 个视频的频道,想要一个包含我频道内所有视频 URL 的列表。 我尝试过: https://gdata.youtube.com/feeds/api/users/default/uploads?key=DEVELOPER_KEY 开发者密钥来自:https://code.google.com/apis/youtube/dashboard 我只是得到:需要用户身份验证。错误 401