我正在制作一个网站,您可以从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 中提取我需要的信息。我想知道是否有其他方法可以做到这一点。
您始终可以通过处理原始 xml 来提取艺术家
http://gdata.youtube.com/feeds/api/videos/{$videoId}
我不确定 YT 是否通过 API 公开艺术家信息。对于解决此问题的工作,我的最佳猜测是拥有一个不同的艺术家数据库,然后匹配标题或其他元数据项以提取艺术家。
您需要一些机制来维护和更新艺术家数据库并将视频与此相关联。