Офис НП 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
Итак, поехали. Нас сейчас не интересует возможность заливки видео прямо с твоего сайта на сервис youtube, хотя такую возможность они предоставляют через API. Сейчас все будет немного проще: нам нужна лишь информация, поэтому мы будем банально их грабить через их любезно предоставленный сервис. Поехали.
Для начала небольшая функция для склонения наших слов, таких, как Минута => минут, секунда => секунд и так далее. Вот она:
Далее, с помощью этой функции, создаем массив нам на будущее:
Собственно, подготовительные работы закончились. Далее идет само ограбление:
Собственно, вот и все:-) Мы уже все украли с youtube, что нам нужно. А это: превью видео( скриншот), продолжительность, количество просмотров, голоса ( всего и в частности +/- ). Можно еще брать заголовок и описание, но у меня данной задачи не стояло, поэтому ты уж, уважаемый читатель, как-нибудь сам.
Что ж, теперь сам вывод этой информации:
Вот, собственно, и все, чем хотел поделиться с тобой. Надеюсь, кому-то это поможет.
Обсуждение данного шедевра на форуме.
В связи с тем, что сервис YouTube прекратил поддержку Data API v2 данная статья потеряла актуальность. Рекомендую всем обновить свои веб–приложения, подогнав их под стандарт YouTube Data API v3. Как это сделать — читайте в статье >>> PHP: вывод информации о видео с сервиса YouTube при помощи Data API v3.
Для начала небольшая функция для склонения наших слов, таких, как Минута => минут, секунда => секунд и так далее. Вот она:
Код: 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.
Понравилась статья?
Метки для данной статьи
Похожие статьи
Поделиться:
Последние активные темы форума
Темы | Просмотров | Ответов | Последние сообщения | |
Вопрос по переделке bb-кода PHP, MySQL |
22377 | 5 | Pisatel 26. мая 2017 |
|
Вопросы по Ajax форме обратной связи CMS PHP Fusion |
68818 | 48 | Ditrin 19. февраля 2017 |
|
BBCode YouTube Video Colorbox mod CMS PHP Fusion |
15395 | 2 | Pisatel 10. декабря 2016 |
|
Как лучше создать собственную страницу? CMS PHP Fusion |
17943 | 17 | Pisatel 11. мая 2016 |
|
Небольшие вопросы по скриптам магазина и катало... PHP, MySQL |
145299 | 80 | Pisatel 11. января 2016 |
|
BBCode Code mod CMS PHP Fusion |
14447 | 0 | Pisatel 31. августа 2015 |
|
Ajax Like Dislike Article Panel CMS PHP Fusion |
22606 | 16 | Pisatel 07. июля 2015 |
|
Хлебные крошки / BreadCrumbs SEO Panel CMS PHP Fusion |
26325 | 17 | Pisatel 04. июля 2015 |
|
Abbr Description BBCode CMS PHP Fusion |
7676 | 0 | Pisatel 15. июня 2015 |
|
Плагин Email рассылки Mail To All by Pisatel CMS PHP Fusion |
37111 | 32 | Pisatel 26. апреля 2015 |
|
Подозрительный трафик и прочие страшилки Всякая хрень |
11834 | 2 | Ditrin 23. апреля 2015 |
|
Мод Newsletter - рассылка писем пользователям с... CMS PHP Fusion |
31076 | 13 | Pisatel 10. апреля 2015 |
|
Мод отправки писем PHPMailer для PHP-Fusion CMS PHP Fusion |
128873 | 113 | Ditrin 06. апреля 2015 |
|
Появление неизвестного файла subscriptions.php CMS PHP Fusion |
8865 | 2 | Pisatel 06. апреля 2015 |
|
Autoban on IP CMS PHP Fusion |
23224 | 13 | Pisatel 03. апреля 2015 |