```python
importeer os
van pytube importeer YouTube
importaanvragen
Soundcloud importeren
van bandcamp importeer Bandcamp
van bs4 import BeautifulSoup
def YouTube_Downloader(url):
poging:
# objectcreatie met YouTube
# die in het begin werd geïmporteerd
yt =Youtube(url)
# formaten en resoluties die mogelijk zijn
# gedownload volgens uw systeem wordt weergegeven
# hier
print("Beschikbare resultaten:")
all_res =yt.streams.all()
voor i in all_res:
afdrukken(ik)
# de video met de hoogste resolutie
# gedownload is geselecteerd
ys =yt.streams.get_highest_resolutie()
# pad waar alle video's worden opgeslagen
yt_path =os.getcwd()
# video wordt gedownload naar de opgegeven
# locatie
ys.download(yt_pad)
print("Download voltooid:", yt_path)
behalve Uitzondering als e:
afdrukken(str(e))
def Soundcloud_Downloader(url):
poging:
# pad waar alle audio wordt opgeslagen
sc_path =os.getcwd()
# objectcreatie met soundcloud
cliënt =soundcloud.Client()
# track =client.get(url) is een object
# maar omdat we alleen streambare audio willen
# URL voor downloaden dus 'stream_url'
audio =client.get(url, oplossing =False)
stream_url =audio.stream_url
# ontvang een verzoek om de inhoud op te halen
reactie =verzoeken.get(stream_url, stream =True)
# geef het audiobestand een naam
# hier noem ik het audiobestand hetzelfde als
# de tracktitel met .mp3 als extensie
bestandsnaam =sc_path + '/' + audio.title.replace("/", "") + ".mp3"
# open method in python opent het bestand in write
#-modus om de inhoud van het bestand op te slaan. Hier,
# het audiobestand wordt in het systeem opgeslagen.
met open(bestandsnaam, "wb") als f:
voor deel in response.iter_content(chunk_size=1024):
als stuk:
f.write(stuk)
print("Download voltooid:", bestandsnaam)
behalve Uitzondering als e:
afdrukken(str(e))
def Bandcamp_Downloader(url):
poging:
# pad waar alle audio wordt opgeslagen
bc_path =os.getcwd()
# de functie neemt de URL van het album als een
# argument en retourneert het object daarvoor
# specifiek album
album =Bandcamp(url)
# de volgende for loops drukt de tracknaam af
# en URL van alle nummers die aanwezig zijn in het
# album
voor nummer in album.tracks():
print("Track:", track.title, track.url)
# kies hier een downloadformaat dat ik kies
# "mp3-v0"-formaat dat is mp3 van 320k
formaat ="mp3-v0"
# functie zal het nummer/audio downloaden met
# gebruiker heeft de naam ingevoerd en downloadt de audio in
# gespecificeerd formaat
voor nummer in album.tracks():
track.download(bc_path, track.title.replace("/","")+"."
+ formaat)
print("Download voltooid:", bc_path)
behalve Uitzondering als e:
afdrukken(str(e))
def hoofd():
terwijl waar:
print("Selecteer een optie:")
print("1. YouTube-downloader")
print("2. SoundCloud-downloader")
print("3. Bandcamp-downloader")
print("4. Afsluiten")
keuze =input("Vul uw keuze in:")
als keuze =="1":
url =input("Voer de YouTube-URL in:")
YouTube_Downloader(url)
elif keuze =="2":
url =input("Voer de Soundcloud-URL in:")
Soundcloud_Downloader(url)
elif keuze =="3":
url =input("Voer de Bandcamp-URL in:")
Bandcamp_Downloader(url)
elif keuze =="4":
print("Afsluiten...")
pauze
als __naam__ =="__main__":
voornaamst()
```