Офис НП AMWAY в Ярославле
Купить продукцию Амвей в Ярославле, офис Amway
На карте Купить AMWAY: офис в ЯрославлеКонсультации, презентации, мастер–классы, знакомство с продукцией, заказ и выдача купленного товара:
Адрес: улица Валентины Терешковой, дом 1 (Вход со двора)
Телефон: +7 (920) 112-00-91
Email: matyxho@mail.ru
Сайт: https://www.amway.ru/user/lebedem
Визитка: http://yar.meweb.ru
Иерархия статей
Статьи » Программирование » Вывод информации о видео с YouTube с использованием Data API v2
Сниппет
Делал один небольшой сайтег, и была поставлена задача: сделать вывод видео с YouTube. В общем, ничего сложного, с задачей справился быстро: админка, плеер и т.д. Однако, я посещал некоторые ресурсы, на которых видел вывод информации о видео: рейтинг, количество просмотров и так далее. Теперь- подробнее.
Вывод информации о видео с YouTube с использованием Data API v2
Опубликовал  Pisatel Добавлено  07-02-2013 17:22 07 Февраль 2013 17:22:22 4565  Прочтений 4565 Прочтений  2 Комментариев 2 Комментариев
Обновлено: 27-05-2015 09:45 Обновлено: 27 мая 2015 09:45:45  printer
Итак, поехали. Нас сейчас не интересует возможность заливки видео прямо с твоего сайта на сервис youtube, хотя такую возможность они предоставляют через API. Сейчас все будет немного проще: нам нужна лишь информация, поэтому мы будем банально их грабить через их любезно предоставленный сервис. Поехали.
Для начала небольшая функция для склонения наших слов, таких, как Минута => минут, секунда => секунд и так далее. Вот она:
Код: PHP
    function getWord($number, $suffix){
$keys = array(2, 0, 1, 1, 1, 2);
$modern = $number % 100;
$suffix_key = ($modern > 7 && $modern < 20) ? 2 : $keys[min($modern % 10, 5)];
return $suffix[$suffix_key];
}



Далее, с помощью этой функции, создаем массив нам на будущее:
Код: PHP
    $arraymin = array('минута', 'минуты', 'минут');
$arraysec = array('секунда', 'секунды', 'секунд');
$arraygolos = array('голос', 'голоса', 'голосов');



Собственно, подготовительные работы закончились. Далее идет само ограбление:
Код: PHP
//информация о файле

$api = 'http://gdata.youtube.com/feeds/api/videos/ID_ВАШЕГО_ВИДЕО?v=2';
$youtube = simplexml_load_file($api);
$media = $youtube->children('http://search.yahoo.com/mrss/');
//выводим кол-во просмотров

$yt = $youtube->children('http://gdata.youtube.com/schemas/2007');
$attrs = $yt->statistics->attributes();
$viewCount = $attrs['viewCount'];

// продолжительность

$yt = $media -> children('http://gdata.youtube.com/schemas/2007');
$attrs = $yt -> duration -> attributes();
$length_min = floor($attrs['seconds'] / 60);
$length_sec = $attrs['seconds'] % 60;
$min = getWord($length_min, $arraymin);
$sec = getWord($length_sec, $arraysec);

//картинка

$attrs = $media->group->thumbnail[0]->attributes();
$thumbnail_url = $attrs['url'];

//рейтинг gd:rating

$gd = $youtube->children('http://schemas.google.com/g/2005');
if ($gd->rating){
$attrs = $gd->rating->attributes();
$rating = $attrs['average'];
$numRaters = $attrs['numRaters'];
} else {
$rating = 0;
$numRaters = 0;
}
$golos = getWord($numRaters, $arraygolos);
$yt1 = $youtube->children('http://gdata.youtube.com/schemas/2007');
if($yt1->rating && $yt1->rating[0]->attributes()){
$attrs1 = $yt1->rating[0]->attributes();
$dislikes = strval($attrs1['numDislikes']);
$likes = strval($attrs1['numLikes']);
} else {
$dislikes = 0;
$likes = 0; }



Собственно, вот и все:-) Мы уже все украли с youtube, что нам нужно. А это: превью видео( скриншот), продолжительность, количество просмотров, голоса ( всего и в частности +/- ). Можно еще брать заголовок и описание, но у меня данной задачи не стояло, поэтому ты уж, уважаемый читатель, как-нибудь сам.
Что ж, теперь сам вывод этой информации:
Код: PHP
    echo "<div><img width='200px' height='150px' style='float:left; margin:8px 12px 8px 8px;' src='".$thumbnail_url."' alt=''>
<ul>
<li>Просмотров: <strong>".number_format($viewCount,0, '.', ' ')."</strong></li>
<li>Длительность: <strong>$length_min $min $length_sec $sec</strong></li>
<li>Рейтинг: <strong>".number_format($rating, 2, ',', ' ')." ( $numRaters $golos ) <span style='color:green;'>".$likes."</span> / <span style='color:red;'>".$dislikes."</span></strong></li>
</ul>
</div>";



Вот, собственно, и все, чем хотел поделиться с тобой. Надеюсь, кому-то это поможет.
Обсуждение данного шедевра на форуме.

Обновление


В связи с тем, что сервис YouTube прекратил поддержку Data API v2 данная статья потеряла актуальность. Рекомендую всем обновить свои веб–приложения, подогнав их под стандарт YouTube Data API v3. Как это сделать — читайте в статье >>> PHP: вывод информации о видео с сервиса YouTube при помощи Data API v3.
Понравилась статья?
Метки для данной статьи
Похожие статьи
Поделиться:   
Комментарии
Avatar
Отсутствует
Супер Администратор
Активный
С 03. февраля 2013
Для вк? Хм, поищем. Тут дело в том, что у youtube есть api, который они великодушно позволяют грабить. На вк вроде нет подобного
Zaxap, сорри, нечаянно удалил твой комментарийОчень смешно
Я не европеец. И не азиат. Я русский. Я россиянин. Я за истинные семейные христианские ценности. И это - моя национальная идея.
#2 | андрей 17 марта 2013 18:09:39
No Avatar
Гость
да, было бы здорово подобное для вк
Добавить комментарий
Имя:

Проверочный код:
Последние активные темы форума
  Темы Просмотров Ответов Последние сообщения
folder Плагин Email рассылки Mail To All by Pisatel
CMS PHP Fusion
13257 33 promask
27. апреля 2019
folder Вопрос по переделке bb-кода
PHP, MySQL
3331 5 Pisatel
26. мая 2017
folder Вопросы по Ajax форме обратной связи
CMS PHP Fusion
13801 48 Ditrin
19. февраля 2017
folder BBCode YouTube Video Colorbox mod
CMS PHP Fusion
7707 2 Pisatel
10. декабря 2016
folder Как лучше создать собственную страницу?
CMS PHP Fusion
7056 17 Pisatel
11. мая 2016
folder Небольшие вопросы по скриптам магазина и катало...
PHP, MySQL
52716 80 Pisatel
11. января 2016
folder BBCode Code mod
CMS PHP Fusion
4027 0 Pisatel
31. августа 2015
folder Ajax Like Dislike Article Panel
CMS PHP Fusion
8159 16 Pisatel
07. июля 2015
folder Хлебные крошки / BreadCrumbs SEO Panel
CMS PHP Fusion
9200 17 Pisatel
04. июля 2015
folder Abbr Description BBCode
CMS PHP Fusion
3042 0 Pisatel
15. июня 2015
folder Подозрительный трафик и прочие страшилки
Всякая хрень
5705 2 Ditrin
23. апреля 2015
folder Мод Newsletter - рассылка писем пользователям с...
CMS PHP Fusion
7728 13 Pisatel
10. апреля 2015
folder Мод отправки писем PHPMailer для PHP-Fusion
CMS PHP Fusion
41279 113 Ditrin
06. апреля 2015
folder Появление неизвестного файла subscriptions.php
CMS PHP Fusion
3721 2 Pisatel
06. апреля 2015
folder Autoban on IP
CMS PHP Fusion
13635 13 Pisatel
03. апреля 2015