yt-dlp и фильрация видео по имени
Задача. Есть плейлист на youtube, содержащий обучающие ролики как на русском, так и на украинском языке, в названиях последних указано UA. Надо скачать только русскоязычные ролики, т.е. исключить ролики, в названиях котороых есть подстрока UA. Может возникнуть обратная задача, т.е. скачать ролики, в названиях котороых есть определённая подстрока.
Решение. yt-dlp имеет три ключа для для этого:
--match-filter
— задаёт фильтр для скачиваемых роликов, можно указывать множество различных условий.--match-title
— задаёт фильтр-регулярное выражение для скачиваемых роликов, эквивалентно условию--match-filter "title ~= (?i)REGEX
, т.е. скачиваться будут ролики, названия которых удовлетворяют маске.--reject-title
— задаёт фильтр-регулярное выражение для пропускаемых роликов, эквивалентно условию--match-filter "title !~= (?i)REGEX
, т.е. скачиваться будут все ролики, названия которых не удовлетворяют маске.