```python
import os
z pytube importovat YouTube
požadavky na import
importovat soundcloud
z bandcampu import Bandcamp
z bs4 importujte BeautifulSoup
def YouTube_Downloader(url):
pokus:
# vytváření objektů pomocí YouTube
#, který byl importován na začátku
yt =Youtube(url)
# formátů a rozlišení, která mohou být
Zobrazí se # stažené podle vašeho systému
# zde
tisk ("Dostupná řešení:")
all_res =yt.streams.all()
pro i ve all_res:
tisknout (i)
# video s nejvyšším rozlišením
Je vybráno # stažené
ys =yt.streams.get_highest_resolution()
# cesta, kam budou všechna videa uložena
yt_path =os.getcwd()
# video se stáhne do zadaného
# místo
ys.download(yt_path)
print("Stahování dokončeno:", yt_path)
kromě výjimky jako e:
tisknout(str(e))
def Soundcloud_Downloader(url):
pokus:
# cesta, kam se uloží všechna audia
sc_path =os.getcwd()
# vytváření objektů pomocí soundcloudu
klient =soundcloud.Client()
# track =client.get(url) je objekt
# ale my chceme pouze streamovatelný zvuk
# URL pro stažení, takže 'stream_url'
audio =client.get(url, resolve =False)
stream_url =audio.stream_url
# získat požadavek na získání obsahu
response =request.get(stream_url, stream =True)
# pojmenujte zvukový soubor
# zde pojmenovávám zvukový soubor stejně jako
# název skladby s příponou .mp3
název_souboru =cesta_sc + '/' + audio.title.replace("/", "") + ".mp3"
# metoda open v pythonu otevře soubor v zápisu
Režim # pro uložení obsahu do souboru. Zde,
# zvukový soubor bude uložen v systému.
s open(název souboru, "wb") jako f:
pro kus v response.iter_content(chunk_size=1024):
pokud kus:
f.write(kus)
print("Stahování dokončeno:", název souboru)
kromě výjimky jako e:
tisknout(str(e))
def Bandcamp_Downloader(url):
pokus:
# cesta, kam se uloží všechna audia
bc_path =os.getcwd()
# funkce bere adresu URL alba jako
# argument a vrátí za to objekt
# konkrétní album
album =Bandcamp(url)
# následující smyčky for vytisknou název stopy
# a URL všech skladeb přítomných v
# album
pro skladbu v album.tracks():
print("Track:", track.title, track.url)
# zde si vyberu libovolný formát stahování
# "mp3-v0" formát, který je mp3 320k
formát ="mp3-v0"
Funkce # stáhne skladbu/audio pomocí
# uživatel zadal jméno a stáhne zvuk
# zadaný formát
pro skladbu v album.tracks():
track.download(bc_path, track.title.replace("/","")+"."
+ formát)
print("Stahování dokončeno:", bc_path)
kromě výjimky jako e:
tisknout(str(e))
def main():
zatímco pravda:
print("Vyberte možnost:")
tisk ("1. YouTube Downloader")
tisk ("2. SoundCloud Downloader")
tisk ("3. Bandcamp Downloader")
print("4. Exit")
volba =input("Zadejte svou volbu:")
pokud volba =="1":
url =input("Zadejte adresu URL YouTube:")
YouTube_Downloader(url)
elif choice =="2":
url =input("Zadejte URL Soundcloud:")
Soundcloud_Downloader(url)
elif choice =="3":
url =input("Zadejte URL Bandcampu:")
Bandcamp_Downloader(url)
elif choice =="4":
tisk ("Konec...")
přerušení
if __name__ =="__main__":
hlavní()
```