如何使用 PHP 从视频网址中检索 YouTube 视频详细信息?

2022-08-30 14:10:01

使用PHP,我如何从YouTube视频URL中获取标题,描述,缩略图等视频信息

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

答案 1

您可以从youtube oembed界面获取两种格式的数据:XML和JSON

接口地址:http://www.youtube.com/oembed?url=youtubeurl&format=json

使用此 PHP 函数获取数据

 function get_youtube($url){

 $youtube = "http://www.youtube.com/oembed?url=". $url ."&format=json";

 $curl = curl_init($youtube);
 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
 $return = curl_exec($curl);
 curl_close($curl);
 return json_decode($return, true);

 }

$url = // youtube video url 

// Display Data 
print_r(get_youtube($url));

不要忘记启用extension=php_curl.dllphp.ini


答案 2

这将返回有关视频的元数据:

http://www.youtube.com/oembed?url={videoUrlHere}&format=json

使用您的示例,调用:

http://www.youtube.com/oembed?url=http://www.youtube.com/watch?v=B4CRkpBGQzU&format=json

返回以下内容,您可以使用 PHP 对其进行消化和解析:

{
    "provider_url": "http:\/\/www.youtube.com\/",
    "thumbnail_url": "http:\/\/i3.ytimg.com\/vi\/B4CRkpBGQzU\/hqdefault.jpg",
    "title": "Joan Osborne - One Of Us",
    "html": "\u003ciframe width=\"459\" height=\"344\" src=\"http:\/\/www.youtube.com\/embed\/B4CRkpBGQzU?fs=1\u0026feature=oembed\" frameborder=\"0\" allowfullscreen\u003e\u003c\/iframe\u003e",
    "author_name": "jzsdhk",
    "height": 344,
    "thumbnail_width": 480,
    "width": 459,
    "version": "1.0",
    "author_url": "http:\/\/www.youtube.com\/user\/jzsdhk",
    "provider_name": "YouTube",
    "type": "video",
    "thumbnail_height": 360
}

推荐