Скрипт Youtube скачивания видео ( Pyton)
777 UAHПривет,
Жду предложение по срокам и стоимости!
- Нужен скрипт на Pyton, который будет скачивать каналы полностью и раскладывать видео по папкам, если на канале есть Плейлисты.
- Скрипт должен периодически проходить по каналам и отслеживать появление новых видео, при появлении нового видео, скрипт должен скачивать новое видео. ( скрипт не отслеживает и не скачивает Shorts and Live трансляции)
- Скрипт в файле done.xml должен сохранять статистику о своей работе ( что, когда было скачено)
А теперь подробно по функционалу:
- В корневой папке скрипта в файле channels.xml мы добавляем каналы которые хотим отслеживать и скачивать. Структура файла:
Chanel_name; bitrate; subtitles;directory
сабачка+Ukrainian_fairy_tales;1080;yes/no;/home/video/
Chanel_name; - название каналов которые отслеживаем
bitrate; - в каком битрейте скачиваем. Если стоит 10180 а ролик снят 720p то скачиваем в максимальном который есть, то есть в 720p .(для каждого канала может быть свой битрейд для скачивания)
subtitles; скачивать субтитры или нет. Если скачиваем субтитры то файл субтитров называется тем же именем что и фал с видео и ложим файл в той же папке где лежит видео. ( скачиваем только англ / рус/ укр субтитры) в конце названия файла добавляем локаль, например субтитр1_ru
directory – корневой путь где мы создаем папку для канала. В корневой папке создаем папку с названием канала, например сабачка+Ukrainian_fairy_tales и туда ложим все видео по каналу. Для каждого канала может быть своя корневая папка, то есть один канал может лежать в папке /home/video/ а другой канал может лежать в папке /medio/video/
2) Работа с Плейлистами. Если на канале есть плейлист Мультики для Детей и второй плей лист Мультики для взрослых. Тогда в корневой папке канала сабачка+Ukrainian_fairy_tales. Создаётся папка Мультики для Детей и папка Мультики для взрослых и видео лежаться в папку согласно Плейлиста к которому они относятся. Видео которые идут без плей листа лежаться в корневую папку канала.
3) Видео файл создаётся с таким же именем как называется ролик на канале ( не забудьте заменить спец символы в названии видео на знак тире – чтоб не было конфликта файловой системы и файлы открывались)
В папку где лежит видео, с таким же названием как и видео создаётся json файл
В json файле сохраняем инфу о видео:
Date of download: дата и время когда ролик был скачан скриптом
Date of publish: дата когда видео было опубликовано на YouTube
Video_name: Название видео ролика
Playlist: Название плейлиста если видео относиться к какому-то ту плейлисту.
Link: полный путь к видео в браузере на конкретное видео
Description: текстовое поле под видео на Youtube с описание видео
- В корневой папке скрипта. Должны быть два файла: queue.xml and done.xml
После запуска скрипта, скрипт пробегает по всем папкам каналов, создает временный технический json файлик со списком всех видео что уже скачаны на основе всех json файликов которые описаны в пункте 3. И потом заходит на каждый канал в интернете и смотрит появились ли новые видео. И все новые видео он ложит в файлик queue.xml в следующем формате:
Chanel_name;video_name;playlist;Chanel_web_link
Название канала: сабачка+Ukrainian_fairy_tales
Название видео: Ну погоди серия№ 3
Playlist; Название плей листа если видео лежит в плей листе
Ссылка на видео:
После того как видео скачалось строчка по этому видео удаляется из файлика queue.xml и сохраняется в файлик done.xml структура файла done.xml такая ж как и у queue.xml единственное в начале перед Chanel ставим поле date of download и пишем в этом поле дату и время когда эта строчка была добавлена в файл done.xml
Файлик done.xml никогда не очищается, он только наполняется. А файлик queue.xml при каждом запуске скрипта очищаеться и формируеться снова. Если скрипт долго работает и не был закрыт то Каждые 24 часа скрипт проверяет появление новых видео на каналах и добавляет их в файлик queue.xml . Если скрипт все скачал и в queue.xml пусто то он просто висит в фоне и через 24 часа проходит по каналам и возможно что то добавит для скучиванья и если что то добавиться новое в файл queue.xml
Актуальные фриланс-проекты в категории Python
Построить модель классификации клиентов1. Есть данные клиентов в Mongo/SQL (примерно 20 000 записей с сырыми данными). 2. Необходимо на их основе построить фичи и модель классификации клиентов на поведенческие группы. 3. Проект выполнить на Python. AI и машинное обучение, Python ∙ 7 часов 12 минут назад ∙ 16 ставок |
ИТ Автоматизация ведения VAT-отчетности
10 000 UAH
Необходимо разработать систему для автоматизации переноса данных о продажах из CRM в бухгалтерскую систему Wafeq. Система должна импортировать банковские и платежные отчеты, автоматически сверять платежи с инвойсами, формировать инвойсы для VAT-отчетности и минимизировать ручную… AI и машинное обучение, Python ∙ 12 часов 36 минут назад ∙ 28 ставок |
Обслуживание софта
5000 UAH
Необходимо внести правки в софт и его обслуживать в дальнейшем, софт делает заказы по заданным параметрам и отправляет их в телеграм бот Python, Разработка ботов ∙ 13 часов 26 минут назад ∙ 50 ставок |
Инструмент сверки счетов с банком, картами и бухгалтеромТехническое задание: инструмент сверки счетов с банком, картами и бухгалтеромОбщая цель Нужен локальный инструмент (скрипт/небольшое приложение на Python), который запускается вручную раз в 1-2 месяца на моём компьютере и делает сверку между: Счетами, которые я выставил клиентам… Python, Десктопные приложения ∙ 1 день назад ∙ 34 ставки |
Автоматическая публикация видео в социальные сети по расписаниюТехническое задание (ТЗ) Автоматическая публикация видео в социальные сети по расписаниюОписание проекта Нужен скрипт/бот (Python предпочтительно, либо любое другое решение на ваш выбор — главное стабильность и простота поддержки), который автоматически публикует видео из папки… Python, Разработка ботов ∙ 1 день 12 часов назад ∙ 54 ставки |