Skrypt Youtube pobierania wideo (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
Aktualne zlecenia dla freelancerów w kategorii Python
Python/CAD Developer do automatycznej obróbki DXF
662 PLN
Potrzebna jest разработка модуłu автоматичного маркування деталей у DXF для лазерної різки. Дані wyjściowe: - Używamy BAS do obliczeń produkcji. - Cięcie laserowe odbywa się na Senfeng z oprogramowaniem CypCut. - Mamy gotowe pliki układów detali w formacie DXF. - Każda część… Python, Bazy danych i SQL ∙ 47 minut temu ∙ 9 ofert |
Zbudować model klasyfikacji klientów1. Są dane klientów w Mongo/SQL (około 20 000 zapisów z surowymi danymi). 2. Należy na ich podstawie zbudować cechy i model klasyfikacji klientów na grupy behawioralne. 3. Projekt wykonać w Pythonie. AI i uczenie maszynowe, Python ∙ 13 godzin 11 minut temu ∙ 24 oferty |
Automatyzacja IT prowadzenia raportowania VAT
828 PLN
Konieczne jest opracowanie systemu do automatyzacji przenoszenia danych o sprzedaży z CRM do systemu księgowego Wafeq. System ma importować raporty bankowe i płatnicze, automatycznie uzgadniać płatności z fakturami, generować faktury do raportowania VAT oraz minimalizować pracę… AI i uczenie maszynowe, Python ∙ 18 godzin 36 minut temu ∙ 31 ofert |
Obsługa oprogramowania
414 PLN
Trzeba wprowadzić poprawki w oprogramowaniu i dalej je obsługiwać, oprogramowanie składa zamówienia według zadanych parametrów i wysyła je do bota w Telegramie Python, Tworzenie chatbota ∙ 19 godzin 25 minut temu ∙ 52 oferty |
Narzędzie do porównywania rachunków z bankiem, kartami i księgowymZadanie techniczne: narzędzie do porównywania rachunków z bankiem, kartami i księgowymOgólny cel Potrzebne jest lokalne narzędzie (skrypt/mała aplikacja w Pythonie), które uruchamiane ręcznie co 1-2 miesiące na moim komputerze i dokonuje porównania między: Rachunkami, które… Python, Aplikacje desktopowe ∙ 1 dzień 6 godzin temu ∙ 37 ofert |