Перейти к содержанию

Мини-каталогизатор подкастов на Excel + VBA + JS

Скриншот каталогизатора

Проблема

Решил на досуге посмотреть подкасты Первого канала на Смарт-ТВ и уперся в стену:

  • в официальном приложении найти не удалось (подскажите в комментариях, если они там есть);
  • ковырять браузер на телевизоре — то еще удовольствие.

Подумал, что проще скачать выпуски на флешку или медиасервер, но и тут сюрприз: напрямую видео не забрать, да и сама структура каталога на сайте организована неудобно.

Делать под это тяжелое приложение или парсер на Python ради пары просмотров не хотелось. Решил проблему за пару часов, собрав легкую связку из того, что всегда под рукой.


Как устроено решение

Компонент Роль
JS-скрипт в консоли браузера В один клик собирает названия подкастов и их ссылки из каталога.
VBA-макрос в Excel Находит скрытые API-запросы 1TV, забирает JSON со всеми выпусками, раскладывает их по датам и формирует чистую базу.
UI в Excel Сам лист служит удобным интерфейсом с поиском и фильтрами. По клику на выпуск макрос через WScript.Shell отправляет ссылку в консольную утилиту yt-dlp, которая и качает видео.

Как это устроено для пользователя

Вся система — это один Excel-файл с макросами (.xlsm), состоящий из трех листов:

1. Config

Конфигурационный лист, где задается локальный путь к yt-dlp.exe и параметры скачивания.

2. Подкасты

Реестр рубрик и ссылок на них (собран через JS, но можно легко пополнять вручную).

Двойной клик по ячейке мгновенно выгружает выпуски выбранного подкаста.

3. Выпуски

Итоговая база. Сюда выводится список передач — либо по конкретной рубрике, либо сквозным сбором по всем подкастам сразу.

  • Даты, названия и рубрики на месте.
  • Фильтры Excel работают из коробки.
  • По клику на ячейку со ссылкой запускается скачивание нужного видео.

Главный вывод

Когда нужно быстро сделать «инструмент для себя» с поиском, фильтрами и запуском консольных утилит — Excel выигрывает за явным преимуществом.

Не нужно писать UI с нуля: 90% работы с данными уже сделали в Microsoft, вам остается дописать лишь 10% логики.