```python
uvoz os
iz pytube uvozi YouTube
uvozne zahteve
uvozite soundcloud
iz bandcampa uvozi Bandcamp
iz bs4 uvozite BeautifulSoup
def YouTube_Downloader(url):
poskusi:
# ustvarjanje predmeta z YouTubom
# ki je bil uvožen na začetku
yt =Youtube (url)
# možni formati in ločljivosti
Prikazano bo # preneseno glede na vaš sistem
# tukaj
print("Razpoložljive rešitve:")
all_res =yt.streams.all()
za jaz v all_res:
natisni(i)
# video najvišje ločljivosti
# preneseno je izbrano
ys =yt.streams.get_highest_resolution()
# pot, kjer bodo shranjeni vsi videoposnetki
yt_path =os.getcwd()
# videoposnetek se prenese na navedeno
# lokacija
ys.download(yt_path)
print("Prenos končan:", yt_path)
razen izjeme kot e:
natisni (str(e))
def Soundcloud_Downloader(url):
poskusi:
# pot, kjer bodo shranjeni vsi zvoki
sc_path =os.getcwd()
# ustvarjanje predmeta z uporabo soundclouda
stranka =soundcloud.Client()
# track =client.get(url) je objekt
# ampak ker želimo samo pretočni zvok
# URL za prenos, torej 'stream_url'
zvok =client.get(url, razreši =False)
stream_url =audio.stream_url
# pridobi zahtevo za pridobitev vsebine
odgovor =requests.get(stream_url, stream =True)
# poimenujte zvočno datoteko
# tukaj zvočno datoteko imenujem enako kot
# naslov skladbe s pripono .mp3
ime datoteke =sc_path + '/' + audio.title.replace("/", "") + ".mp3"
# open metoda v pythonu odpre datoteko v zapisu
# način za shranjevanje vsebine v datoteko. tukaj,
# zvočna datoteka bo shranjena v sistemu.
z open(ime datoteke, "wb") kot f:
za kos v response.iter_content(chunk_size=1024):
če kos:
f.write(kos)
print("Prenos končan:", ime datoteke)
razen izjeme kot e:
natisni (str(e))
def Bandcamp_Downloader(url):
poskusi:
# pot, kjer bodo shranjeni vsi zvoki
bc_path =os.getcwd()
# funkcija vzame url albuma kot
# argument in vrne objekt za to
# določen album
album =Bandcamp(url)
# naslednje zanke for natisnejo ime skladbe
# in URL vseh skladb v
# album
za skladbo v album.tracks():
print("Track:", track.title, track.url)
# izberite katero koli obliko prenosa tukaj, ki jo izberem
# "mp3-v0" format, ki je mp3 320k
format ="mp3-v0"
# funkcija bo prenesla pesem/zvok z
# uporabnik je vnesel ime in prenese zvok
# določena oblika
za skladbo v album.tracks():
track.download(bc_path, track.title.replace("/","")+"."
+ oblika)
print("Prenos končan:", bc_path)
razen izjeme kot e:
natisni (str(e))
def main():
medtem ko je res:
print("Izberite možnost:")
print("1. YouTube Downloader")
print("2. SoundCloud Downloader")
print("3. Bandcamp Downloader")
print("4. Izhod")
izbira =vnos ("Vnesite svojo izbiro:")
če je izbira =="1":
url =input("Vnesite URL YouTube:")
YouTube_Downloader(url)
elif izbira =="2":
url =input("Vnesite URL Soundcloud:")
Soundcloud_Downloader(url)
elif izbira =="3":
url =input("Vnesite URL Bandcampa:")
Bandcamp_Downloader(url)
elif izbira =="4":
print("Izhod...")
odmor
if __name__ =="__main__":
glavni ()
```