
02.04.2023, 20:33
|
|
Участник форума
Регистрация: 27.12.2018
Сообщений: 245
С нами:
3883730
Репутация:
83
|
|
Всем добрый вечер
Создал простую программу для YouTube
Что она может?
- Cкачивать видео с ютуба
- Скачивать аудио с ютуба
- Скачивать плей-листы состоящих из видео
- Скачивать плей-листы состоящих из аудио
- Создавать папки для плейлистов
Примечание: Ниже будет показано,как правильно пользоваться программой
Возможно в будущем сделаю красивый интерфейс,посмотрим.
Сообщение от Спойлер
Панель
Выбераем желаемое.
Тут все просто, видео скачивает видео,а аудио - аудио
Сообщение от Спойлер
Для начала нужно найти ссылку на плейлист
1) Заходим в ютуб
2) Находим нужный плейлист
3) Сохраняем
4) Открываем свой канал
5) Выбераем "Плейлисты"
6) Под каждым плейлистом будет такая кнопка,переходим
7) Тыкаем Поделится
8) Копируем ссылку
9) Вставляем в программу.
Программа создает папку,туда сохраняет весь плейлист
На этом все
Всем спасибо!
Сообщение от Спойлер
Исходник:
Код:
from
pytube
import
YouTube
,
Playlist
import
os
choice
=
input
(
"Что вы хотите скачать?\n1. Видео\n2. Аудио\n3. Плейлист\n\nВыберите 1 или 2 или 3: "
)
if
choice
==
'1'
:
link
=
input
(
"Введите URL: "
)
print
(
"Начало загрузки..."
)
yt
=
YouTube
(
link
)
stream
=
yt
.
streams
.
get_highest_resolution
(
)
stream
.
download
(
)
print
(
'Файл:'
+
yt
.
title
+
" успешно скачан"
)
elif
choice
==
'2'
:
video_url
=
input
(
"Введите URL: "
)
print
(
"Начало загрузки..."
)
yt
=
YouTube
(
video_url
)
try
:
audio_stream
=
yt
.
streams
.
get_audio_only
(
)
audio_file
=
audio_stream
.
download
(
timeout
=
300
)
video_title
=
yt
.
title
audio_name
=
f"{video_title}.mp3"
file_counter
=
1
while
os
.
path
.
exists
(
audio_name
)
:
audio_name
=
f"{video_title}({file_counter}).mp3"
file_counter
+=
1
os
.
rename
(
audio_file
,
audio_name
)
print
(
f'Успешно скачано аудио из видео "{video_title}" и сохранено в файл "{audio_name}".\nАвтор кода: Erwin'
)
except
Exception
as
e
:
print
(
'Ошибка при скачивании аудио:'
,
e
,
'\nАвтор кода: Erwin'
)
elif
choice
==
'3'
:
playlist_url
=
input
(
"Введите URL плейлиста: "
)
playlist
=
Playlist
(
playlist_url
)
playlist_type
=
input
(
"Выберите тип плейлиста:\n1. Видео\n2. Аудио\nВыберите 1 или 2: "
)
print
(
"Начало загрузки..."
)
if
playlist_type
==
'1'
:
folder_name
,
file_extension
=
'playlist_videos'
,
'.mp4'
elif
playlist_type
==
'2'
:
folder_name
,
file_extension
=
'playlist_music'
,
'.mp3'
else
:
print
(
"Ошибка: выберите 1 или 2"
)
exit
(
)
os
.
makedirs
(
folder_name
,
exist_ok
=
True
)
for
video
in
playlist
.
videos
:
try
:
stream
=
video
.
streams
.
get_highest_resolution
(
)
if
playlist_type
==
'1'
else
video
.
streams
.
get_audio_only
(
)
file_path
=
os
.
path
.
join
(
folder_name
,
f"{video.title}{file_extension}"
)
stream
.
download
(
output_path
=
folder_name
,
filename
=
f"{video.title}{file_extension}"
)
print
(
f'Успешно скачано{"видео" if playlist_type == "1" else "аудио"}"{video.title}" и сохранено в файл "{file_path}"'
)
except
Exception
as
e
:
print
(
f'Ошибка при скачивании{"видео" if playlist_type == "1" else "аудио"}"{video.title}":'
,
e
)
print
(
"Готово!"
)
else
:
print
(
"Ошибка: выберите 1 или 2 или 3"
)
!!!!СКАЧАТЬ!!!!
1680731803145.pngervinbek · 2 Апр 2023 в 19:33' data-fancybox="lb-post-1284904" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/196556/" style="cursor: pointer;" title="1680731803145.png">

|
|
|

02.04.2023, 20:53
|
|
Участник форума
Регистрация: 10.09.2021
Сообщений: 146
С нами:
2460931
Репутация:
33
|
|
Картинку софта хоть приложи
|
|
|

02.04.2023, 20:55
|
|
Участник форума
Регистрация: 27.12.2018
Сообщений: 245
С нами:
3883730
Репутация:
83
|
|
Сообщение от LiL STANLEY
Картинку софта хоть приложи
Готово
|
|
|

02.04.2023, 21:01
|
|
Познавший АНТИЧАТ
Регистрация: 26.08.2020
Сообщений: 1,772
С нами:
3008692
Репутация:
183
|
|
Официально заявляю, что этобольше на*** не нужно.
|
|
|

02.04.2023, 21:03
|
|
Флудер
Регистрация: 10.08.2021
Сообщений: 6,010
С нами:
2505538
Репутация:
133
|
|
Сообщение от GrishaMazzlov
Официально заявляю, что этобольше на*** не нужно.
они идут кто там азербайджане

|
|
|

02.04.2023, 21:03
|
|
Участник форума
Регистрация: 27.12.2018
Сообщений: 245
С нами:
3883730
Репутация:
83
|
|
Сообщение от GrishaMazzlov
Официально заявляю, что этобольше на*** не нужно.
Официально говорю-ОК.
Я начинаю только в этой сфере
Делюсь работой
Жду советы,критику
Но явно не твою цитату
Сообщение от CHRXMIUSJ
они идут кто там азербайджане
Не всегда удобно
|
|
|

02.04.2023, 21:06
|
|
Познавший АНТИЧАТ
Регистрация: 26.08.2020
Сообщений: 1,772
С нами:
3008692
Репутация:
183
|
|
Сообщение от ervinbek
Официально говорю-ОК.
Я начинаю только в этой сфере
Делюсь работой
Жду советы,критику
Но явно не твою цитату
Почему, когда идёт сравнение с проприетарью, начинающий кодер думает, что его чморят? Я наоборот хвалю и восхищаюсь тобой, ибо ты создал бесплатный консольный аналог софта, за который по закону надо платить. Я тебя просто хотел поддержать в шуточной форме.
|
|
|

02.04.2023, 21:07
|
|
Участник форума
Регистрация: 27.12.2018
Сообщений: 245
С нами:
3883730
Репутация:
83
|
|
Сообщение от GrishaMazzlov
Почему, когда идёт сравнение с проприетарью, начинающий кодер думает, что его чморят? Я наоборот хвалю и восхищаюсь тобой, ибо ты создал бесплатный консольный аналог софта, за который по закону надо платить. Я тебя просто хотел поддержать в шуточной форме.
Тогда прошу меня извинить за грубость
Не правильно понял домысел твоих слов
За похвалу большое спасибо!
Дает большую мотивацию)
|
|
|

02.04.2023, 21:08
|
|
Познавший АНТИЧАТ
Регистрация: 26.08.2020
Сообщений: 1,772
С нами:
3008692
Репутация:
183
|
|
Сообщение от ervinbek
Тогда прошу меня извинить за грубость
Не правильно понял домысел твоих слов
За похвалу большое спасибо!
Дает большую мотивацию)
Код приложишь или жадина?)
|
|
|

09.01.2024, 07:42
|
|
Участник форума
Регистрация: 31.12.2022
Сообщений: 201
С нами:
1774087
Репутация:
33
|
|
Сообщение от ervinbek
Не всегда удобно
всегда им пользуюсь, всегда удобно)
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|