Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.04.2018, 21:15
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

Парсер канала YouTube
Здравствуйте!

У кого есть парсер канала YouTube?
Ответить с цитированием
  #2 (permalink)  
Старый 26.04.2018, 08:12
Интересующийся
Отправить личное сообщение для panikajo Посмотреть профиль Найти все сообщения от panikajo
 
Регистрация: 27.10.2017
Сообщений: 24

Сообщение от spinastr Посмотреть сообщение
Здравствуйте!

У кого есть парсер канала YouTube?
(function (root, factory) {
  if (typeof exports === 'object') {
    module.exports = factory();
  } else if (typeof define === 'function' && define.amd) {
    define(factory);
  } else {
    root.getYouTubeID = factory();
  }
}(this, function (exports) {

  return function (url, opts) {
    if (opts == undefined) {
      opts = {fuzzy: true};
    }

    if (/youtu\.?be/.test(url)) {

      // Look first for known patterns
      var i;
      var patterns = [
        /youtu\.be\/([^#\&\?]{11})/,  // youtu.be/<id>
        /\?v=([^#\&\?]{11})/,         // ?v=<id>
        /\&v=([^#\&\?]{11})/,         // &v=<id>
        /embed\/([^#\&\?]{11})/,      // embed/<id>
        /\/v\/([^#\&\?]{11})/         // /v/<id>
      ];

      // If any pattern matches, return the ID
      for (i = 0; i < patterns.length; ++i) {
        if (patterns[i].test(url)) {
          return patterns[i].exec(url)[1];
        }
      }

      if (opts.fuzzy) {
        // If that fails, break it apart by certain characters and look 
        // for the 11 character key
        var tokens = url.split(/[\/\&\?=#\.\s]/g);
        for (i = 0; i < tokens.length; ++i) {
          if (/^[^#\&\?]{11}$/.test(tokens[i])) {
            return tokens[i];
          }
        }
      }
    }

    return null;
  };

}));

или
function youtube_parser(url){
    var regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/;
    var match = url.match(regExp);
    if (match&&match[7].length==11){
        return match[7];
    }else{
        alert("Url incorrecta");
    }
  }
Ответить с цитированием
  #3 (permalink)  
Старый 27.04.2018, 03:39
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

panikajo,

Спасибо, я не понимаю js есть полный вариант? С демо примером?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
парсер xml на js Vlad777 Общие вопросы Javascript 21 02.03.2018 16:41
Youtube Api v3 - получить названия канала dkv01 Общие вопросы Javascript 0 16.05.2017 03:07
Срочно Youtube API, ОПЛАТА taibert Работа 0 11.11.2014 08:08
Angular + Youtube Player ivanesi Angular.js 6 10.07.2014 16:16
javascript скачивания с youtube royksopp Общие вопросы Javascript 1 28.02.2010 16:59