``` python
import os
fra pytube import YouTube
importanmodninger
importere soundcloud
fra bandcamp import Bandcamp
fra bs4 importer BeautifulSoup
def YouTube_Downloader(url):
prøve:
# objektoprettelse ved hjælp af YouTube
# som blev importeret i begyndelsen
yt =Youtube(url)
# formater og opløsninger, der kan være
# downloadet i henhold til dit system vises
#her
print("Tilgængelige løsninger:")
all_res =yt.streams.all()
for i all_res:
print(i)
# den højeste opløsning video at være
# downloadet er valgt
ys =yt.streams.get_highest_resolution()
# sti, hvor alle videoerne bliver gemt
yt_path =os.getcwd()
# video bliver downloadet til den angivne
# placering
ys.download(yt_sti)
print("Download fuldført:", yt_path)
undtagen undtagelse som e:
print(str(e))
def Soundcloud_Downloader(url):
prøve:
# sti, hvor alle lydfiler bliver gemt
sc_path =os.getcwd()
# objektoprettelse ved hjælp af soundcloud
klient =soundcloud.Client()
# track =client.get(url) er et objekt
# men da vi kun ønsker en streambar lyd
# URL til download, så 'stream_url'
audio =client.get(url, resolve =False)
stream_url =audio.stream_url
# få anmodning om at få indholdet
respons =requests.get(stream_url, stream =True)
# navngiv lydfilen
# her navngiver jeg lydfilen det samme som
# sportitlen med .mp3 som forlængelse
filnavn =sc_sti + '/' + audio.title.replace("/", "") + ".mp3"
# åben metode i python åbner filen i skrivning
#-tilstand for at gemme indholdet i filen. Her,
# lydfilen vil blive gemt i systemet.
med åben(filnavn, "wb") som f:
for chunk in response.iter_content(chunk_size=1024):
hvis chunk:
f.write(chunk)
print("Download fuldført:", filnavn)
undtagen undtagelse som e:
print(str(e))
def Bandcamp_Downloader(url):
prøve:
# sti, hvor alle lydfiler bliver gemt
bc_path =os.getcwd()
# funktionen tager url til albummet som en
# argument og returnerer objektet for det
# bestemt album
album =Bandcamp(url)
# følgende for loops udskriver spornavnet
# og URL for alle spor, der findes i
# album
for spor i album.tracks():
print("Spor:", track.title, track.url)
# vælg et hvilket som helst downloadformat her jeg vælger
# "mp3-v0" format, der er mp3 på 320k
format ="mp3-v0"
# funktion vil downloade sangen/lyden med
# bruger indtastede navn og downloader lyden ind
# specificeret format
for spor i album.tracks():
track.download(bc_path, track.title.replace("/","")+"."
+ format)
print("Download fuldført:", bc_sti)
undtagen undtagelse som e:
print(str(e))
def main():
mens det er sandt:
print("Vælg en mulighed:")
print("1. YouTube Downloader")
print("2. SoundCloud Downloader")
print("3. Bandcamp Downloader")
print("4. Afslut")
choice =input("Indtast dit valg:")
hvis valg =="1":
url =input("Indtast YouTube URL:")
YouTube_Downloader(url)
elif valg =="2":
url =input("Indtast Soundcloud URL:")
Soundcloud_Downloader(url)
elif valg =="3":
url =input("Indtast Bandcamp URL:")
Bandcamp_Downloader(url)
elif valg =="4":
print("Afslutter...")
pause
hvis __navn__ =="__main__":
hoved()
```