Скрипт Youtube скачування відео (Python)
Привет,
Жду предложение по срокам и стоимости!
- Нужен скрипт на 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
AI Коментуюча Платформа для TikTok та Instagram.Мета проекту Розробити систему, яка дозволяє керувати великою кількістю акаунтів TikTok та Instagram і автоматично публікувати релевантні коментарі під вибраними відео з використанням ШІ. Основний функціонал1. Управління акаунтами Необхідно реалізувати можливість підключення… AI та машинне навчання, Python ∙ 21 година 17 хвилин тому ∙ 14 ставок |
Побудувути модель калсифікації клієнтів1. Є дані клієнтів в Mongo/SQL (приблизно 20 000 заисів із сирими даними). 2. Необхідно на їх основі побудувати фічі та модель класифікації клієнтв на поведінкові групи. 3. Проект виконати на Python. AI та машинне навчання, Python ∙ 2 дні 15 годин тому ∙ 34 ставки |
ІТ Автоматизація ведення VAT- звітності
10 000 UAH
Необхідно розробити систему для автоматизації перенесення даних про продажі з CRM у бухгалтерську систему Wafeq. Система має імпортувати банківські та платіжні звіти, автоматично звіряти платежі з інвойсами, формувати інвойси для VAT-звітності та мінімізувати ручну роботу.… AI та машинне навчання, Python ∙ 2 дні 20 годин тому ∙ 44 ставки |
Інструмент звірки рахунків з банком, картами та бухгалтеромТехнічне завдання: інструмент звірки рахунків з банком, картами та бухгалтеромЗагальна метаПотрібен локальний інструмент (скрипт/невеликий додаток на Python), який запускається вручну раз на 1-2 місяці на моєму комп'ютері і робить звірку між:Рахунками, які я виставив клієнтам і… Python, Десктопні додатки ∙ 3 дні 9 годин тому ∙ 42 ставки |
Автоматичне публікування відео в соціальні мережі за розкладомТехнічне завдання (ТЗ)Автоматична публікація відео в соціальні мережі за розкладомОпис проектуПотрібен скрипт/бот (Python бажано, або будь-яке інше рішення на ваш вибір — головне стабільність і простота підтримки), який автоматично публікує відео з папки в соціальні мережі та… Python, Розробка ботів ∙ 3 дні 21 година тому ∙ 59 ставок |