```python
uvoz os
s pytubea uvozite YouTube
zahtjevi za uvoz
uvezi soundcloud
iz bandcampa uvozi Bandcamp
iz bs4 import BeautifulSoup
def YouTube_Downloader(url):
probati:
# stvaranje objekta pomoću YouTubea
# koji je uvezen na početku
yt =Youtube(url)
# formati i rezolucije koje mogu biti
Prikazat će se # preuzeto prema vašem sustavu
# ovdje
print("Dostupna rješenja:")
all_res =yt.streams.all()
za mene u all_res:
ispis(i)
# video najveće rezolucije
Odabrano je # preuzeto
ys =yt.streams.get_highest_resolution()
# put na kojem će se spremiti svi videozapisi
yt_path =os.getcwd()
# video se preuzima na navedeno
# lokacija
ys.download(yt_path)
print("Preuzimanje dovršeno:", yt_path)
osim iznimke kao e:
ispis(str(e))
def Soundcloud_Downloader(url):
probati:
# put na kojem će se spremiti svi audio zapisi
sc_path =os.getcwd()
# stvaranje objekta pomoću soundclouda
klijent =soundcloud.Client()
# track =client.get(url) je objekt
# ali jer želimo samo strujni zvuk
# URL za preuzimanje pa 'stream_url'
audio =client.get(url, resolve =False)
stream_url =audio.stream_url
# dobiti zahtjev za dobivanje sadržaja
odgovor =requests.get(stream_url, stream =True)
# dajte naziv audio datoteci
# ovdje nazivam audio datoteku isto kao
# naslov pjesme s .mp3 kao ekstenzijom
naziv datoteke =sc_path + '/' + audio.title.replace("/", "") + ".mp3"
# open metoda u pythonu otvara datoteku u pisanju
# način za spremanje sadržaja u datoteku. Ovdje,
# audio datoteka će biti pohranjena u sustavu.
s open(filename, "wb") kao f:
za komad kao odgovor.iter_content(chunk_size=1024):
ako je komad:
f.write (komad)
print("Preuzimanje dovršeno:", naziv datoteke)
osim iznimke kao e:
ispis(str(e))
def Bandcamp_Downloader(url):
probati:
# put na kojem će se spremiti svi audio zapisi
bc_path =os.getcwd()
# funkcija uzima url albuma kao
# argument i vraća objekt za to
# određeni album
album =Bandcamp(url)
# sljedeće for petlje ispisuju naziv zapisa
# i URL svih zapisa prisutnih u
# album
za pjesmu u albumu.tracks():
ispis("Trag:", track.title, track.url)
# odaberite bilo koji format preuzimanja ovdje koji ja odaberem
# "mp3-v0" format koji je mp3 od 320k
format ="mp3-v0"
# funkcija će preuzeti pjesmu/audio s
# korisnik je unio ime i preuzima audio zapis
# navedeni format
za pjesmu u albumu.tracks():
track.download(bc_path, track.title.replace("/","")+"."
+ format)
print("Preuzimanje dovršeno:", bc_path)
osim iznimke kao e:
ispis(str(e))
def main():
dok je istina:
print("Odaberite opciju:")
print("1. YouTube Downloader")
print("2. SoundCloud Downloader")
print("3. Bandcamp Downloader")
print("4. Izlaz")
izbor =unos("Unesite svoj izbor:")
ako je izbor =="1":
url =input("Unesite YouTube URL:")
YouTube_Downloader(url)
elif izbor =="2":
url =input("Unesite Soundcloud URL:")
Soundcloud_Downloader(url)
elif izbor =="3":
url =input("Unesite URL Bandcampa:")
Bandcamp_Downloader(url)
elif izbor =="4":
print("Izlaz...")
prekinuti
if __name__ =="__main__":
glavni()
```