Как установить поиск роликов на Youtube к себе в блог


Потянуло меня на ютубовскую тему в связи с кратковременным попаданием в топ10 Яндекса по этому запросу... Жаль, что не долго там продержался ^^, ну да ладно, раскроем тему видеосервиса глубже.
Сегодняшний скрипт отличается от своих собратьев (например, redytube) скоростью выполнения и простотой установки. Для его работы, точнее, для работы поиска роликов на ютубе, требуется вставить на страницу несколько кодов (для Blogger тупой копипаст разруливает).

Сначала смотрим демку:

Что будем смотреть, а?



Можете ввести любой запрос. Скрипт, используя api Youtube, jQuery и Ajax, обработает его и подберёт подходящий ролик без перезагрузки страницы. Наш великий и могучий конечно тоже поддерживается. Чтобы добраться до искомого ролика, сконкретезируйте запрос дополнительной информацией (название, год, автор и т.п.). По дефолту, если набирать только имя автора (например, видеоклип по названию группы), будет выдан результат самого "жирного" (по просмотрам) ролика заданной темы.

Этот скрипт может быть полезен в качестве приятной фишки для посетителей обычного блога или прокачки функциональности видеоблога. Кстати, под плеером располагается счётчик просмотров запущенного видео.

Установка в блог поиска на Youtube
Можно кидать на страницу коды друг за другом. И не забудьте подключить библиотеку jQuery (достаточно версии 1.4.1). Если не знаете, как это сделать в Blogger, используйте поиск (в футере моего блога)↓

Javascript:
<script type="text/javascript">
$(document).ready(function()
{

$(".search_input").keyup(function()
{
var search_input = $(this).val();
var keyword= encodeURIComponent(search_input);
// Youtube API 
var yt_url='http://gdata.youtube.com/feeds/api/videos?q='+keyword+'&format=5&max-results=1&v=2&alt=jsonc';

$.ajax
({
type: "GET",
url: yt_url,
dataType:"jsonp",
success: function(response)
{

if(response.data.items)
{
$.each(response.data.items, function(i,data)
{
var video_id=data.id;
var video_title=data.title;
var video_viewCount=data.viewCount;
// IFRAME Embed for YouTube
var video_frame="<iframe width='640' height='385' src='http://www.youtube.com/embed/"+video_id+"' frameborder='0' type='text/html'></iframe>";

var final="<div id='title'>"+video_title+"</div><div>"+video_frame+"</div><div id='count'>"+video_viewCount+" Views</div>";

$("#result").html(final); // Result

});
}
else
{
$("#result").html("<div id='no'>No Video</div>");
}
}
});
});
});
</script>
Если код не работает, попробуйте взять из этого файла.

Css:
<style>
#result
{
background-color:#000;
margin-top:25px;
min-height:400px;
width:640px;
border:solid 10px #ffffff;
-moz-border-radius:9px;
-webkit-border-radius:9px;
}
#no
{
padding:30px;
font-size:24px;
color:#fff;
}
#title
{
background-color:#fff;
font-size:26px;
text-align:left;
padding-bottom:8px;
}
#count
{
background-color:#fff;
text-align:left;
padding-top:8px;
}
</style>
Стили регулируют внешний вид чёрного бокса для показа плеера с видеороликами
-- #result - внешний вид самого бокса (результата)
-- #title - заголовок или название найденного видео
-- #count - внешний вид счётчика

Форма для запроса и текст для неё:
Что будем смотреть, а?
<input type="text" class='search_input' />
<div id="result">
</div>

Автор зачётной темы живёт здесь.

Ну а что ещё интересного?
Thumbnail или автоскриншот для Youtube
Поиск для блога с помощью Google AJAX Search API и jQuery
Всплывающее окно поиска по сайту
Как проигрывать видеоролики в блоге или Альтернативный плеер для Youtube

12 комментариев:

  1. Спасибо за очень полезный материал.
    Возможно ли сделать поиск безопасным?
    т.е. чтобы посетители не смогли искать словами для взрослых ....

    ОтветитьУдалить
  2. Количество результатов поиска:
    можно сделать больше 1?

    ОтветитьУдалить
  3. Насчёт безопасности я не знаю. Вроде бы на ютубе нет ничего "взрослой" тематики. Можно попробовать "Пользовательский поиск" от Google, возможно там есть какие-либо фильтры.

    А вот по результатам поиска можно сделать так, чтобы находилось больше одного.
    В этой статье я описал создание поисковой формы. Там на самой форме есть переключатель "video search" (самый правый), это как раз поиск по Youtube (реже по другим видеосерверам, что без разницы). Показывает за один раз 8 результатов и кнопку дальше. Вот на основе этой технологии можно сделать продвинутый видеопоиск для блога.

    ОтветитьУдалить
  4. @aldous

    по этой ссылке:
    http://blogger.omg-linux.ru/2011/10/jquery-poisk-v-bloge.html
    результаты поиска ведут на YouTube.
    А я имела ввиду,чтобы количество результатов вот здесь:
    http://blogger.omg-linux.ru/2011/11/youtube-poisk-v-bloge.html
    показывались до 5.

    ОтветитьУдалить
  5. Я понял)
    Вот классный скрипт Youtube playlist jquery and php Gdata Api. Сам хочу найти бесплатный вариант и переделать под Blogger.

    ОтветитьУдалить
  6. @aldous

    Вот что действительно мне нужно было.
    Только жаль,что нет возможности реализовать на сайте.

    ОтветитьУдалить
  7. Этот комментарий был удален автором.

    ОтветитьУдалить
  8. Есть сайт с песнями. Как сделать так, чтобы при открытии страницы плеер уже открывался с конкретной песней. К примеру: страница с title "Анна Седокова - Простые слова" чтобы без ввода в поиск фразы сразу открывался плеер с этой песней?

    ОтветитьУдалить
  9. Просто вставить код ролика с плеером в тело страницы.

    ОтветитьУдалить
  10. @aldous
    Страниц много, на каждую свой код не поставишь, а нужно установить один код и чтобы по title загружался плеер с этой песней.
    Здесь у вас пример в котором надо вести запрос в поле поиска, а хотелось бы не вводя запрос получить уже плеер с песней.

    ОтветитьУдалить
  11. Вручную находить на ютубе нужные ролики, брать оттуда код ролика и вставлять в статью без всяких мучений, как это обычно делается.

    ОтветитьУдалить