``` python
importera os
från pytube import YouTube
importförfrågningar
importera soundcloud
från bandcamp import Bandcamp
från bs4 importera BeautifulSoup
def YouTube_Downloader(url):
försök:
# objektskapande med YouTube
# som importerades i början
yt =Youtube(url)
# format och upplösningar som kan vara
# nedladdat enligt ditt system kommer att visas
#här
print("Tillgängliga lösningar:")
all_res =yt.streams.all()
för mig i all_res:
print(i)
# videon med högsta upplösning
# nedladdat är valt
ys =yt.streams.get_highest_resolution()
# sökväg där alla videor kommer att sparas
yt_path =os.getcwd()
# video laddas ner till den angivna
# plats
ys.download(yt_path)
print("Nedladdningen slutförd:", yt_path)
förutom undantag som e:
print(str(e))
def Soundcloud_Downloader(url):
försök:
# sökväg där allt ljud kommer att sparas
sc_path =os.getcwd()
# objektskapande med soundcloud
klient =soundcloud.Client()
# track =client.get(url) är ett objekt
# men eftersom vi bara vill ha ett streambart ljud
# URL för nedladdning så "stream_url"
audio =client.get(url, resolve =False)
stream_url =audio.stream_url
# få begäran om att få innehållet
respons =requests.get(stream_url, stream =True)
# namnge ljudfilen
# här döper jag ljudfilen till samma namn som
# spårtiteln med .mp3 som tillägg
filnamn =sc_path + '/' + audio.title.replace("/", "") + ".mp3"
# öppen metod i python öppnar filen i skrivning
# läge för att spara innehållet i filen. Här,
# ljudfilen kommer att lagras i systemet.
med öppen(filnamn, "wb") som f:
för chunk in response.iter_content(chunk_size=1024):
om bit:
f.write(chunk)
print("Nedladdningen slutförd:", filnamn)
förutom undantag som e:
print(str(e))
def Bandcamp_Downloader(url):
försök:
# sökväg där allt ljud kommer att sparas
bc_path =os.getcwd()
# funktionen tar url till albumet som en
# argument och returnerar objektet för det
# särskilt album
album =Bandcamp(url)
# följande för loopar skriver ut spårnamnet
# och URL för alla spår som finns i
# album
för spår i album.tracks():
print("Track:", track.title, track.url)
# välj valfritt nedladdningsformat här jag väljer
# "mp3-v0" format som är mp3 på 320k
format ="mp3-v0"
# funktion kommer att ladda ner låten/ljudet med
# användare angav namn och laddar ner ljudet in
# specificerat format
för spår i album.tracks():
track.download(bc_path, track.title.replace("/","")+"."
+ format)
print("Nedladdningen slutförd:", bc_path)
förutom undantag som e:
print(str(e))
def main():
medan sant:
print("Välj ett alternativ:")
print("1. YouTube Downloader")
print("2. SoundCloud Downloader")
print("3. Bandcamp Downloader")
print("4. Avsluta")
choice =input("Ange ditt val:")
om val =="1":
url =input("Ange YouTube URL:")
YouTube_Downloader(url)
elif choice =="2":
url =input("Ange Soundcloud URL:")
Soundcloud_Downloader(url)
elif choice =="3":
url =input("Ange Bandcamp URL:")
Bandcamp_Downloader(url)
elif choice =="4":
print("Avslutar...")
bryta
om __namn__ =="__main__":
main()
```