Мини-каталогизатор подкастов на 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% логики.
