| chromiusj |
02.04.2023 21:33 |
можно что то подобное,потому что возможны рофлы в виде приватности видео,ждать пока загрузится ***та какая то,и код просто будет крашиться
я негiр:
Код:
import
os
import
urllib
.
request
import
json
from
http
.
client
import
IncompleteRead
from
pytube
import
YouTube
# Введите URL видео YouTube
url
=
input
(
"Введите URL видео YouTube: "
)
yt
=
YouTube
(
url
)
while
True
:
choice
=
input
(
"Что нужно скачать? (a - аудио, v - видео): "
)
if
choice
==
"a"
:
# почему то крашит код на 256 кбпс,но мне по***....
audio_quality
=
input
(
"Выберите качество аудио (256kbps, 128kbps, 70kbps): "
)
file_extension
=
"mp3"
stream
=
yt
.
streams
.
filter
(
only_audio
=
True
,
abr
=
audio_quality
)
.
first
(
)
break
elif
choice
==
"v"
:
video_quality
=
input
(
"Выберите качество видео (720p, 480p, 360p, 240p, 144p): "
)
file_extension
=
"mp4"
stream
=
yt
.
streams
.
filter
(
res
=
video_quality
,
mime_type
=
"video/mp4"
)
.
first
(
)
break
else
:
print
(
"Некорректный выбор. Попробуйте еще раз."
)
if
not
stream
:
print
(
f"Не удалось найти поток для выбранного качества. Попробуйте выбрать другое качество."
)
else
:
save_dir
=
input
(
"Введите директорию для сохранения файла: "
)
while
True
:
try
:
file_name
=
f"{yt.title}.{file_extension}"
file_path
=
os
.
path
.
join
(
save_dir
,
file_name
)
stream
.
download
(
save_dir
)
break
except
IncompleteRead
as
e
:
data
=
e
.
partial
info_file
=
os
.
path
.
join
(
save_dir
,
f"{yt.title}.txt"
)
with
open
(
info_file
,
"w"
,
encoding
=
"utf-8"
)
as
f
:
f
.
write
(
f"Название:{yt.title}\n"
)
f
.
write
(
f"Описание:{yt.description}\n"
)
f
.
write
(
f"Автор:{yt.author}\n"
)
if
yt
.
keywords
:
f
.
write
(
f"Теги:{', '.join(yt.keywords)}\n"
)
print
(
f"Файл '{file_name}' успешно сохранен в директории '{save_dir}'."
)
и да,стоит добавить хотя бы хоть какое то уведомление что скачалось,я когда вписал ссылку,минуты 2 сидел втыкал думал что щас комп взорвется от таких вычислений
апд:обновил код,добавил выбор директории,хз как на ПК,но на Андроиде через пайдроид3 если ввести Download ,то действительно загрузит в загрузки,на ПК скорее всего немного иначе.
https://forum.antichat.xyz/attachmen...e693a61dc9.png
|