2017-01-25 6 views
-1

может кто-нибудь пожалуйста, скажите мне, как я мог бы получить первый видео Youtube ссылку результат моего search_query = SEARCH Пример: https://www.youtube.com/results?search_query=hangover+2009+trailerтрейлер фильма YouTube search_query

Первое звено результатов: https://www.youtube.com/watch?v=tcdUhdOlz9M

Может кто-нибудь скажет мне, как я могу сделать это с помощью jquery? Я хочу получить ссылку на трейлеры youtubes на основе search_query.

Причина, по которой эти ссылки могут использоваться в iframe впоследствии для отображения на моей странице.

<iframe width="560" height="315" src="https://www.youtube.com/embed/tcdUhdOlz9M" frameborder="0" allowfullscreen></iframe> 

спасибо !!

+0

используйте сервер .. Если вы не знаете, как создать свой собственный, пожалуйста, используйте [diff bot] (https://www.diffbot.com/dev/docs/article/) – ymz

ответ

0

Вы, вероятно, хотите, чтобы интегрировать API YouTube вместо: https://developers.google.com/youtube/v3/docs/search/list

Но если вы хотите сделать, как вы описали выше, вы могли бы получить эту страницу, а затем соскрести результаты: в основном найти что-то уникальное о результатах поиска, укажите, что с помощью селектора jquery, затем получите нужные данные из элемента.

0

Попробуйте следующее:

function searchByKeyword() { 
    var results = YouTube.Search.list('id,snippet', {q: 'hangover+2009+trailer', maxResults: 1}); 
    return results.items[0]; 
} 
1

Это просто. После того, как вы интегрируете свой код с Youtube API, он вернет объект, похожий на результат, который вы можете установить практически с API (количество результатов, дата и т. Д.). Итак, основываясь на этом, вы можете сформировать его так, как хотите.

Ниже приведен пример JQuery с некоторым лечением в результате:

function tplawesome(e,t){res=e;for(var n=0;n<t.length;n++){res=res.replace(/\{\{(.*?)\}\}/g,function(e,r){return t[n][r]})}return res} 

$(function() { 
    $("#search-btn").on("click", function(e){ 
     e.preventDefault(); 
     //prepare the request 
     var request = gapi.client.youtube.search.list({ 
      part: "snippet", 
      type: "video", 
      q: encodeURIComponent($("#input-search").val()).replace(/%20/g, "+"), 
      maxResults: 6, 
      order: "viewCount", 
      publishedAfter: "2015-01-01T00:00:00Z" 
     }); 
     request.execute(function(response){ 
      var results = response.result; 

      function getMonth(monthNumber){ 
       var monthName = ['jan', 'fevereiro', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez']; 

       return monthName[monthNumber-1]; 
      } 

      var dateUTC = results.items[0].snippet.publishedAt; 
      var year = dateUTC.substring(0,4); 
      var day = dateUTC.substring(8,10); 
      var month = dateUTC.substring(5,7); 
      month = getMonth(month); 

      var finalDate = day + " de " + month + " de " + year; 


      console.log("passou", results.items[0].snippet.description); 
      //$.each(results.items, function(index, item){ 
      $.get("youtube/item", function(data){ 
       $("#results").append(tplawesome(data, [{ "videoId":results.items[0].id.videoId}])); 
      }); 
      $.get("youtube/title", function(data){ 
       $(".info-title").append(tplawesome(data,[{"title": results.items[0].snippet.title, "videoId":results.items[0].id.videoId}])); 
      }); 
      $.get("youtube/description", function(data){ 
       $(".info-description").append(tplawesome(data,[{"description": results.items[0].snippet.description, "videoId":results.items[0].id.videoId}])); 
      }); 
      $.get("youtube/finalDate", function(data){ 
       $(".publishedTime").append(tplawesome(data, [{finalDate}])); 
      }); 

      $.get("youtube/relationVideo", function(data){ 
       $(".relationVideo-container").append(tplawesome(data,[{"title": results.items[1].snippet.title, "videoId":results.items[1].id.videoId}])); 
      }); 
      $.get("youtube/relationVideo", function(data){ 
       $(".relationVideo-container").append(tplawesome(data,[{"title": results.items[2].snippet.title, "videoId":results.items[2].id.videoId}])); 
      }); 
     }); 
    }); 
}); 

function init(){ gapi.client.setApiKey("AIzaSyDuLpwiCe78V9p0JE5rQaygB2XVgIDHjhs"); 
    gapi.client.load("youtube", "v3", function(){ 
     //youtube API ok 
    }); 
} 

$(document).ready(function(){ 
    $("#search-btn").on("click", function(){ 
     $('#info-section').addClass('show'); 
     $('#video-section').addClass('show'); 
     $('#description-section').addClass('show'); 
    }); 

Вы можете увидеть простой проект с Youtube API, NodeJS и экспрессом here.

Смежные вопросы