Установка модуля на пайтон
https://pypi.org/project/youtube_dl/
pip install youtube_dl --root-user-action=ignore
Установил модуль, но при выполнении кода
from pytube import YouTube
yt = YouTube('https://www.youtube.com/watch?v=xXk9QgqdbiE') #ссылка на видео.
print(yt.streams.filter(file_extension='mp4'))
Traceback (most recent call last):
File "/var/www/z/data/www/dw.py", line 1, in <module>
from pytube import YouTube
ModuleNotFoundError: No module named 'pytube'
Что необходимо выполнить, чтобы заработал установленный модуль?
Пробовал и так и так...
python /dw.py
python3.13 /dw.py
Ответы (1 шт):
Ошибка в условии: pip install youtube_dl --root-user-action=ignore
Но при этом: from pytube import YouTube
Предлагаю использовать более современный и популярный модуль yt_dlp:
Установите современный Питон, сегодня это версия 3.12.6.
Обновите установщик: python.exe -m pip install --upgrade pip
Установите: pip install -U --compile yt_dlp
Скачайте в сети ffmpeg, извлеките из архива ffmpeg.exe.
Текст готового консольного скрипта для загрузки видео из YouTube (сохраните, например, как youtube.py в каталоге, поместите туда же ffmpeg.exe:
def youtube_download(v_url = "", v_quality = "", v_ffmpeg_folder = "", v_folder = "", v_quiet = False, v_noprogress = False):
ok = True
v_options = {
"format": f"bestvideo[height<={v_quality}]+bestaudio/best",
"ffmpeg_location": os.path.join(v_folder, "ffmpeg.exe"),
"quiet": v_quiet,
"noprogress": v_noprogress,
"outtmpl": os.path.join(v_folder, "%(title)s.%(ext)s")
}
if ok and not v_url: print("Не указан веб-адрес видео!"); ok = False
if ok and not v_quality: print("Не указано качество видео!"); ok = False
if ok and not v_ffmpeg_folder: print("Не указан каталог, в котором находится ffmpeg.exe!"); ok = False
if ok and not v_folder: print("Не указан каталог для сохранения видео!"); ok = False
if ok:
try: yt_dlp.YoutubeDL(v_options).download([v_url])
except Exception as e: print(f"Ошибка выполнения загрузки видео! Подробнее:\n{e}"); ok = False
return ok
#--Пример использования:
print("-" * 50 + "\nЗагрузка видео из YouTube:\n" + "-" * 50)
ok = True
import os
try: import yt_dlp
except Exception as e: print(f"Ошибка импорта модуля! Подробнее:\n{e}"); ok = False
if ok:
v_url = "https://youtu.be/linlz7-Pnvw"
v_quality = "1080" # 1080 - 1080p, 2160 - 4k, 4320 - 8k
v_ffmpeg_folder = "." # каталог, в котором находится ffmpeg.exe
v_folder = "." # каталог для сохранения видео
v_quiet = False # отключение вывода в консоль
v_noprogress = False # отключение прогресс-бара
ok = youtube_download(v_url, v_quality, v_ffmpeg_folder, v_folder, v_quiet, v_noprogress)
print("\nНажмите любую клавишу для продолжения...")
os.system("pause > nul" if os.name == "nt" else "read > /dev/null")