``` python
tuonti os
Pytube-tuonti YouTubesta
tuontipyynnöt
tuoda soundcloud
Bandcamp-tuonnista Bandcamp
bs4 import BeautifulSoupista
def YouTube_Downloader(url):
yrittää:
# objektin luominen YouTuben avulla
#, joka tuotiin alussa
yt =Youtube (url)
# muotoa ja resoluutiota, joita voi olla
# ladattu järjestelmäsi mukaan näkyy
# täällä
print("Saatavilla olevat ratkaisut:")
all_res =yt.streams.all()
minulle all_res:
tulosta (i)
# korkein resoluutio oleva video
# ladattu on valittu
ys =yt.streams.get_highest_resolution()
# polku, jolle kaikki videot tallennetaan
yt_path =os.getcwd()
# video ladataan määritettyyn paikkaan
# sijainti
ys.download(yt_path)
print("Lataus valmis :", yt_path)
paitsi poikkeus kuten e:
tulosta (str(e))
def Soundcloud_Downloader(url):
yrittää:
# polku, jolle kaikki äänet tallennetaan
sc_polku =os.getcwd()
# objektin luominen soundcloudilla
asiakas =soundcloud.Client()
# track =client.get(url) on objekti
# mutta koska haluamme vain suoratoistettavan äänen
# URL-osoite latausta varten, joten "stream_url"
ääni =asiakas.get(url, ratkaista =false)
stream_url =audio.stream_url
# saada pyyntö saada sisältö
vastaus =requests.get(stream_url, stream =True)
# nimeä äänitiedosto
# tässä nimeän äänitiedoston samalla tavalla kuin
# kappaleen nimi, jonka jatkeena on .mp3
tiedostonimi =sc_path + '/' + audio.title.replace("/", "") + ".mp3"
# avoin menetelmä pythonissa avaa tiedoston kirjoitusmuodossa
#-tila tallentaaksesi tiedoston sisällön. Tässä,
# äänitiedosto tallennetaan järjestelmään.
jossa open(tiedostonimi, "wb") muodossa f:
chunk in response.iter_content(chunk_size=1024):
jos pala:
f.write(chunk)
print("Lataus valmis:", tiedostonimi)
paitsi poikkeus kuten e:
tulosta (str(e))
def Bandcamp_Downloader(url):
yrittää:
# polku, jolle kaikki äänet tallennetaan
bc_polku =os.getcwd()
# funktio ottaa albumin url-osoitteen
# argumentti ja palauttaa objektin tälle
# tietty albumi
albumi =Bandcamp(url)
# seuraava for loops tulostaa raidan nimen
# ja kaikkien tiedostossa olevien kappaleiden URL-osoite
#albumi
albumin album.tracks() kappaleelle:
print("Track:", track.title, track.url)
# Valitse mikä tahansa latausmuoto täältä, jonka valitsen
# "mp3-v0"-muoto, joka on 320k mp3
muoto ="mp3-v0"
#-toiminto lataa kappaleen/äänen
# käyttäjä antoi nimen ja lataa äänen sisään
# määritetty muoto
albumin album.tracks() kappaleelle:
track.download(bc_path, track.title.replace("/","")+"."
+ muoto)
print("Lataus valmis:", bc_path)
paitsi poikkeus kuten e:
tulosta (str(e))
def main():
kun taas Totta:
print("Valitse vaihtoehto:")
print("1. YouTube Downloader")
print ("2. SoundCloud Downloader")
print("3. Bandcamp Downloader")
print("4. Poistu")
choice =input("Anna valintasi:")
jos valinta =="1":
url =input("Anna YouTube-URL-osoite:")
YouTube_Downloader(url)
elif valinta =="2":
url =input("Anna Soundcloud-URL-osoite:")
Soundcloud_Downloader(url)
elif valinta =="3":
url =input("Anna Bandcamp-URL-osoite:")
Bandcamp_Downloader(url)
elif valinta =="4":
print("Poistutaan...")
tauko
if __name__ =="__main__":
pää()
```