从youtube音乐视频中提取歌曲和艺术家

时间:2012-12-17 15:09:25

标签: php youtube-api

我正在建立一个网站,你可以从youtube搜索或播放音乐,并在网站上播放。 有一个问题。我无法正确地从youtube中提取歌曲和艺术家。 我做了这个功能:

$watch = $_GET['var'];
//id of the video
$code = $watch;
// Get video feed info (xml) from youtube, but only the title | http://php.net/manual/en/function.file-get-contents.php
$video_feed = file_get_contents("http://gdata.youtube.com/feeds/api/videos?v=2&q=".$code."&max-results=1&fields=entry(title)&prettyprint=true");
// xml to object | http://php.net/manual/en/function.simplexml-load-string.php
$video_obj = simplexml_load_string($video_feed);
// Get the title string to a variable
$video_str = $video_obj->entry->title;
// Output
echo "<br/>\n";
$new =  explode("-", $video_str);

$watch是youtube视频ID。 youtube上的官方音乐视频是这样的。 "eminem - without me" 我能得到这首歌和艺术家的唯一方法就是这样。但是对于音乐视频,格式是不同的。标题中没有“ - ”,所以我无法从youtube中提取所需的信息。我想知道是否还有其他办法可以做到这一点。

2 个答案:

答案 0 :(得分:1)

您始终可以通过处理

上的原始xml来提取艺术家
http://gdata.youtube.com/feeds/api/videos/{$videoId}

答案 1 :(得分:-1)

我不确定YT是否会通过API公开artist information。我最好的猜测是,要有一个不同的艺术家数据库,然后匹配标题或其他元数据项以提取艺术家。

您需要一些机制来维护和更新艺术家数据库并将视频与之相关联。