```pytón
import os
z pytube importovať YouTube
žiadosti o import
importovať soundcloud
z bandcampu import Bandcamp
z bs4 importujte BeautifulSoup
def YouTube_Downloader(url):
skús:
# vytváranie objektov pomocou YouTube
#, ktorý bol na začiatku importovaný
yt =Youtube(url)
# formáty a rozlíšenia, ktoré môžu byť
Zobrazí sa # stiahnuté podľa vášho systému
# tu
vytlačiť("Dostupné riešenia:")
all_res =yt.streams.all()
pre ja v all_res:
vytlačiť (i)
# video s najvyšším rozlíšením
Je vybratá # stiahnuté
ys =yt.streams.get_highest_resolution()
# cesta, kde sa uložia všetky videá
yt_path =os.getcwd()
# video sa stiahne do zadaného
# miesto
ys.download(yt_path)
print("Sťahovanie dokončené:", yt_path)
okrem výnimky ako e:
print(str(e))
def Soundcloud_Downloader(url):
skús:
# cesta, kde sa uložia všetky zvuky
sc_path =os.getcwd()
# vytváranie objektov pomocou soundcloudu
klient =soundcloud.Client()
# track =client.get(url) je objekt
# ale my chceme iba streamovateľný zvuk
# URL na stiahnutie, takže 'stream_url'
audio =client.get(url, resolve =False)
stream_url =audio.stream_url
# dostať žiadosť o získanie obsahu
odpoveď =request.get(stream_url, stream =True)
# pomenujte zvukový súbor
# Tu pomenujem zvukový súbor rovnako ako
# názov skladby s príponou .mp3
názov_súboru =cesta_sc + '/' + audio.title.replace("/", "") + ".mp3"
# metóda open v pythone otvorí súbor v zápise
# režim na uloženie obsahu do súboru. tu
# zvukový súbor bude uložený v systéme.
s open(názov súboru, "wb") ako f:
pre časť v response.iter_content(chunk_size=1024):
ak kusok:
f.write(kúsok)
print("Sťahovanie dokončené:", názov súboru)
okrem výnimky ako e:
print(str(e))
def Bandcamp_Downloader(url):
skús:
# cesta, kde sa uložia všetky zvuky
bc_path =os.getcwd()
# funkcia berie adresu URL albumu ako
# argument a na to vráti objekt
# konkrétny album
album =Bandcamp(url)
# nasledujúce slučky for vytlačia názov skladby
# a URL všetkých skladieb prítomných v
# album
pre skladbu v albume.tracks():
print("Track:", track.title, track.url)
# tu si vyberte ľubovoľný formát sťahovania
# "mp3-v0" formát, ktorý je mp3 320k
formát ="mp3-v0"
Funkcia # stiahne skladbu/audio pomocou
# používateľ zadal meno a stiahne zvuk
# zadaný formát
pre skladbu v albume.tracks():
track.download(bc_path, track.title.replace("/","")+"."
+ formát)
print("Sťahovanie dokončené:", bc_path)
okrem výnimky ako e:
print(str(e))
def main():
kým pravda:
print("Vyberte možnosť:")
print("1. YouTube Downloader")
print("2. SoundCloud Downloader")
print("3. Bandcamp Downloader")
print("4. Exit")
voľba =vstup("Zadajte svoj výber:")
ak voľba =="1":
url =input("Zadajte webovú adresu YouTube:")
YouTube_Downloader(url)
elif choice =="2":
url =input("Zadajte URL Soundcloud:")
Soundcloud_Downloader(url)
elif choice =="3":
url =input("Zadajte URL Bandcampu:")
Bandcamp_Downloader(url)
elif choice =="4":
print("Ukončuje sa...")
prestávka
if __name__ =="__main__":
hlavný()
```