Създаване на собствен YouTube MP3 Downloader с Python и преобразуването му в EXE файл

В днешния свят на дигиталните медии, възможността да сваляме аудио съдържание от YouTube за лично ползване е изключително полезна. В тази статия ще ви покажа как да създадете професионален YouTube MP3 downloader с красив графичен интерфейс използвайки Python, и как да го превърнете в самостоятелен EXE файл.
🎯 Какво ще научите
- Как да създадете GUI приложение с Python и Tkinter
- Как да интегрирате yt-dlp за сваляне от YouTube
- Как да добавите автоматична проверка за FFmpeg
- Как да преобразувате Python скрипт в Windows EXE файл
- Най-добри практики за обработка на грешки и потребителски интерфейс
🛠️ Необходими инструменти
Преди да започнем, ще ни трябват следните библиотеки:
pip install tkinter
pip install yt-dlp
pip install ttkthemes
pip install Pillow
pip install pyinstaller # За създаване на EXE файл
📋 Архитектура на приложението
Нашият YouTube downloader ще има следните основни компоненти:
1. Графичен интерфейс (GUI)
- URL въвеждане с бутон за paste от clipboard
- Избор на формат (MP3 или M4A)
- Избор на дестинация за файловете
- Progress bar за проследяване на свалянето
- Status индикатор
2. Backend функционалност
- Валидация на YouTube URLs
- Автоматична проверка за FFmpeg
- Сваляне и конвертиране на файлове
- Обработка на грешки
3. Допълнителни функции
- Logging система за debug
- Hover ефекти за бутоните
- Help система за FFmpeg инсталация
💻 Създаване на основния скрипт
Нашето приложение е построено като обектно-ориентиран клас YouTubeDownloader
.
Просто свалете скрипта:
за Windows 11:
Invoke-WebRequest -Uri "https://gist.fedia.eu/urocibg/0d651d8098f8435eb16dc3d1b8c09fdf/raw/HEAD/youtube_downloader.py" -OutFile "$env:USERPROFILE\Desktop\youtube_downloader.py"
Това ще свали youtube_downloader.py
направо на десктопа на текущия потребител.
🧠 Обяснение:
Част | Какво прави |
---|---|
Invoke-WebRequest | PowerShell алтернатива на wget . |
-Uri | URL адресът на файла. |
-OutFile | Къде да се запише файлът. |
$env:USERPROFILE\Desktop | Това е пътят до десктопа на текущия потребител (работи универсално за всеки Windows акаунт). |
📦 Преобразуване в EXE файл
Стъпка 1: Подготовка на иконата
Създайте икона в .ico формат (256×256 пиксела). Можете да използвате онлайн конвертори като:
Стъпка 2: Инсталиране на PyInstaller
pip install pyinstaller
Стъпка 3: Създаване на EXE
За професионален резултат с всички dependencies:
pyinstaller --onefile --noconsole --icon=icon.ico --name="FedyaMP3-v1.3" --add-data="icon.ico;." --hidden-import=PIL._tkinter_finder --hidden-import=ttkthemes.themed_tk --distpath=./release youtube_downloader.py
Създайте папка с примерно име youtube_downloader
В нея, добавете файла, който свалихте youtube_downloader.py и иконата която сте си харесали с име icon.ico .
В същата папка отворете Терминал и изпълнете горната команда.
Ще се създадат няколко папки и файла. Отворете папката release и ще видите готовият файл FedyaMP3-v1.3.exe . Можете да го копирате където и да е и да го стартирате.
Финалният продукт е професионална програма, която можете да споделите с приятели или дори да разпространявате. Не забравяйте да спазвате авторските права и да използвате програмата само за лично ползване.
Забележка: Този софтуер е създаден само с образователна цел. Моля, спазвайте авторските права и Terms of Service на YouTube при използването му.
Бонус
Ще ви предложа още един скрипт, който ви позволява лесно да сваляте музикални плейлисти от Spotify и YouTube. С интуитивен графичен интерфейс, можете бързо да изтегляте Mp3 файлове директно от линк към плейлист или от текстов файл със списък с песни.

✨ Функционалности
- Сваляне на плейлисти от Spotify: Въвеждайте линк към Spotify плейлист и скриптът ще го свали в избраната от вас папка.
- Сваляне на плейлисти от YouTube (аудио): Въвеждайте текстов файл със списък с песни и скриптът ще ги свали в избраната от вас папка.
- Сваляне на цели видеоклипове от YouTube: Въвеждайте линк към YouTube видео и скриптът ще го свали в избраната от вас папка
🔧 Инсталация на необходимите инструменти:
# Инсталирай spotdl за Spotify плейлисти
pip install spotdl
# Инсталирай yt-dlp за YouTube
pip install yt-dlp
Ако имате проблеми с pip, опитайте:
# Алтернативни команди
pip3 install spotdl yt-dlp
# Или с --user флаг
pip install --user spotdl yt-dlp
# За Windows с Python Launcher
py -m pip install spotdl yt-dlp
📋 Пълна инсталация стъпка по стъпка:
- Отвори Command Prompt/Terminal като администратор
- Инсталирай spotdl: bash
pip install spotdl
- Инсталирай yt-dlp: bash
pip install yt-dlp
- Провери дали са инсталирани: bash
spotdl --version yt-dlp --version
⚠️ Ако имаш проблеми:
За Windows:
# Използвай Python Launcher
py -m pip install spotdl yt-dlp
# Или актуализирай pip първо
python -m pip install --upgrade pip
pip install spotdl yt-dlp
Инструкции за използване
- Изтеглете и инсталирайте изискваните библиотеки според изискванията по-горе.
- Изпълнете скрипта и следвайте инструкциите в GUI приложението.
- Въведете линк към плейлист или видео според избора си.
- Изберете папка за запазване на свалените файлове.
- Натиснете бутона за сваляне
Сваляне от текстов файл
- Създайте текстов файл с имена на песни
- Изберете файла
- Изберете директория за запазване
- Натиснете "Свали плейлист от YouTube"
Съвет: Текстовият файл трябва да съдържа по една песен на ред.
🔧 Допълнителни стъпки:
project_folder/
├── playlist_downloader.py
├── icon.ico (по избор)
└── requirements.txt
Свалете скрипта:
за Windows 11:
Invoke-WebRequest -Uri "https://gist.fedia.eu/urocibg/2436222ef89a46f19b0eaeff4f02f15a/raw/HEAD/playlist_downloader.py"
Създаване на EXE: Просто следвайте стъпките по-горе и само сменете името на скрипта.
Забележка: Този софтуер е създаден само с образователна цел. Моля, спазвайте авторските права.
Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу:
Donate ☕️ Дарете с PayPalDonate 💳 Дарете с Revolut