1. Вступайте в наш Telegram чат: https://t.me/a_parser Нас уже 2600+ и мы растем!
    Скрыть объявление

Парсинг расшифровки Youtube видео 1.0

Способ парсинга расшифровки Youtube видео с использованием встроенного парсера SE::YouTube::Video

  1. Support
    Минимальная версия A-Parser:
    1.2.2596
    Youtube позволяет получать содержимое видео в текстовом виде:
    [​IMG]

    Выглядит это так:
    [​IMG]

    По сути это субтитры видео вместе с отметками времени, выведенные вместе с разделами в правильном порядке. Все эти данные умеет парсить SE::YouTube::Video SE::YouTube::Video (subtitles и chapters), остается только вывести их в нужном виде.
    Эту задачу можно полностью решить с помощью шаблонизатора:
    Код:
    [% arr = [];
    
    FOREACH item IN p1.subtitles;
        IF item.text.trim();
            arr.push({ start = item.start, text = item.text });
        END;
    END;
    
    FOREACH item IN p1.chapters;
        start = item.start * 1000;
        arr.push({ start = item.start * 1000, text = item.title, chapter = 1 });
    END;
    
    arr = arr.nsort('start');
    max = arr.size - 1;
    
    USE Math;
    FOREACH i IN [0..max];
        item = arr.${i};
        m = Math.int(item.start / 60000);
        s = (item.start / 1000) % 60 FILTER format('%02d');
        nextI = i + 1;
        (item.chapter ? '' : m _ ':' _ s _ ' - ') _ item.text _ (arr.${nextI}.chapter ? "\n\n" : "\n");
    END %]
    В результате получаем расшифровку в таком же виде, как она отображается в браузере при нажатии на кнопку "Расшифровка видео":
    [​IMG]