Last active
August 29, 2015 14:05
-
-
Save Kcko/f23eec2bc3fefa2a92c6 to your computer and use it in GitHub Desktop.
Youtube parser videa ( get info )
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<? | |
//The Youtube's API url | |
define('YT_API_URL', 'http://gdata.youtube.com/feeds/api/videos?q='); | |
//Change below the video id. | |
$video_id = '66Wi3isw3NY'; | |
//Using cURL php extension to make the request to youtube API | |
$ch = curl_init(); | |
curl_setopt($ch, CURLOPT_URL, YT_API_URL . $video_id); | |
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); | |
//$feed holds a rss feed xml returned by youtube API | |
$feed = curl_exec($ch); | |
curl_close($ch); | |
//Using SimpleXML to parse youtube's feed | |
$xml = simplexml_load_string($feed); | |
$entry = $xml->entry[0]; | |
//If no entry whas found, then youtube didn't find any video with specified id | |
if(!$entry) exit('Error: no video with id "' . $video_id . '" whas found. Please specify the id of a existing video.'); | |
$media = $entry->children('media', true); | |
$group = $media->group; | |
$title = $group->title;//$title: The video title | |
$desc = $group->description;//$desc: The video description | |
$vid_keywords = $group->keywords;//$vid_keywords: The video keywords | |
$thumb = $group->thumbnail[0];//There are 4 thumbnails, the first one (index 0) is the largest. | |
//$thumb_url: the url of the thumbnail. $thumb_width: thumbnail width in pixels. | |
//$thumb_height: thumbnail height in pixels. $thumb_time: thumbnail time in the video | |
list($thumb_url, $thumb_width, $thumb_height, $thumb_time) = $thumb->attributes(); | |
$content_attributes = $group->content->attributes(); | |
//$vid_duration: the duration of the video in seconds. Ex.: 192. | |
$vid_duration = $content_attributes['duration']; | |
//$duration_formatted: the duration of the video formatted in "mm:ss". Ex.:01:54 | |
$duration_formatted = str_pad(floor($vid_duration/60), 2, '0', STR_PAD_LEFT) . ':' . str_pad($vid_duration%60, 2, '0', STR_PAD_LEFT); | |
//echoing the variables for testing purposes: | |
echo 'title: ' . $title . '<br />'; | |
echo 'desc: ' . $desc . '<br />'; | |
echo 'video keywords: ' . $vid_keywords . '<br />'; | |
echo 'thumbnail url: ' . $thumb_url . '<br />'; | |
echo 'thumbnail width: ' . $thumb_width . '<br />'; | |
echo 'thumbnail height: ' . $thumb_height . '<br />'; | |
echo 'thumbnail time: ' . $thumb_time . '<br />'; | |
echo 'video duration: ' . $vid_duration . '<br />'; | |
echo 'video duration formatted: ' . $duration_formatted; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment