بدون توضیح

lambda 5f72e7f945 Update 'README.md' 3 سال پیش
LICENSE db3192ac3b Initial commit 3 سال پیش
README.md 5f72e7f945 Update 'README.md' 3 سال پیش
main.py 3c3d2f1ddd Add not file found exceptions 3 سال پیش
requirements.txt 8a637d33f1 init commit 3 سال پیش

README.md

cli_youtube_watcher

Описание

Скрипт написан по мотивам аналогичного скрипта от ЧТ. Скрипт позволяет просматривать видеоролики со своих подписок на youtube из командной строки используя fzf, а точнее его обертку для python pyfzf. Скрипт парсит сайт https://yewtu.be это один из сайтов с альтернативным веб-фронтендом Invidious для youtube. Видео воспроизводится с помощью mpv плеера.

Установка

Установите fzf

Далее выполните следующие команды:

# Укажите в какую директорию вы хотите установить
 your_dir=./your_dir

 mkdir $your_dir
 wget https://notabug.org/lambda/cli_youtube_watcher/raw/master/{main.py,requirements.txt} -P $your_dir
 python -m venv $your_dir
 source $your_dir/bin/activate
 cd $your_dir
 pip install -r ./requirements.txt
 touch ./subscriptions.txt
 echo 'Добавьте свои подписки в subscriptions.txt'
 python ./main.py

Перед запуском python ./main.py добавьте ваши подписки в subscriptions.txt

Файл подписок должен выглядеть вот так:

/channel/UCUKs39ZVVW2NK8B5g3AhAPA
/channel/UC0txrR-PfjZl3VxfQyd42FQ
# Можно оставлять комментарии
/channel/UC101o-vQ2iOj9vr00JUlyKw
/channel/UC2hsvTzqdjsGOUnM-Ilai6Q
/channel/UC2q4mHrzoR48mwSuAYtVPtQ
/channel/UC32velEjgFxI08yXZOD22dg
/channel/UC4axiS76D784-ofoTdo5zOA
/channel/UC6cqazSR6CnVMClY0bJI0Lg

Управление

Находясь в программе работают следующие клавиатурные сочетания

Alt-BackSpace - Выход в предыдущее меню. Если находимся в начальном меню тогда выход из программы.

Del - Находясь в меню последних видео удалит видео под курсором из БД.

Ctrl-p - История поиска previous-history

Ctrl-n - История поиска next-history

Небольшая шпаргалка по поиску: https://github.com/junegunn/fzf#search-syntax

Алгоритм работы

При первом запуске проверяется наличие файла БД, если её нет то будет предложено создать её. Далее из файла подписок берутся ссылки на каналы. Парсер начинает сбор ссылок, имен каналов, имен видео. Парсятся абсолютно все видео которые выложены на канале. Все это складывается в БД, и программа запускается.

При повторном запуске, когда БД уже создана будет проверено наличие новых подписок в файле подписок, если таковые есть то будут добавлены в БД, далее будет предложено проверить наличие новых видео.

Замечания

Пока алгоритм поиска новых видео реализован только поиском на первой странице. То есть если вы давно не обновляли подписки и количество новых видео вышло за первую страницу (это около 30 роликов), то алгоритм добавит только новые видео с первой страницы.