```pyton
importuj os
z pytube importuj YouTube
żądania importu
importuj SoundCloud
z bandcampa import Bandcamp
z bs4 importuj BeautifulSoup
def YouTube_Downloader(url):
próbować:
# tworzenie obiektów za pomocą YouTube
#, który został zaimportowany na początku
yt =YouTube (adres URL)
# formaty i rozdzielczości, jakie mogą być
# pobrany zgodnie z komunikatem systemu
# Tutaj
print("Dostępne wyniki:")
all_res =yt.streams.all()
dla mnie we all_res:
drukuj (i)
# wideo o najwyższej rozdzielczości
Wybrano # pobrany
ys =yt.streams.get_highest_registration()
# ścieżka, w której zostaną zapisane wszystkie filmy
yt_path =os.getcwd()
# film zostanie pobrany do określonego miejsca
# lokalizacja
ys.pobierz(yt_path)
print("Pobieranie zakończone:", yt_path)
z wyjątkiem wyjątku jako e:
print(str(e))
def Soundcloud_Downloader(url):
próbować:
# ścieżka, w której zostaną zapisane wszystkie pliki audio
sc_path =os.getcwd()
# tworzenie obiektów za pomocą SoundCloud
klient =soundcloud.Client()
# track =klient.get(url) jest obiektem
#, ale ponieważ chcemy tylko strumieniowego dźwięku
# Adres URL do pobrania, więc „stream_url”
audio =klient.get(url, rozwiązanie =fałsz)
stream_url =audio.stream_url
# pobierz żądanie pobrania zawartości
odpowiedź =żądania.get(stream_url, strumień =True)
# nazwij plik audio
# tutaj nadaję plikowi audio taką samą nazwę jak
# tytuł utworu z rozszerzeniem .mp3
nazwa pliku =ścieżka_sc + '/' + audio.title.replace("/", "") + ".mp3"
# metoda open w Pythonie otwiera plik do zapisu
# tryb, aby zapisać zawartość w pliku. Tutaj,
# plik audio zostanie zapisany w systemie.
z open(nazwa pliku, „wb”) jako f:
dla fragmentu w odpowiedzi.iter_content(chunk_size=1024):
jeśli fragment:
f.pisz (fragment)
print("Pobieranie zakończone:", nazwa pliku)
z wyjątkiem wyjątku jako e:
print(str(e))
def Bandcamp_Downloader(url):
próbować:
# ścieżka, w której zostaną zapisane wszystkie pliki audio
bc_path =os.getcwd()
# funkcja pobiera adres URL albumu jako
# argument i zwraca dla niego obiekt
#konkretny album
album =Bandcamp(url)
# następująca pętla for wypisuje nazwę ścieżki
# i adres URL wszystkich utworów znajdujących się w pliku
#albumu
dla utworu w album.tracks():
print("Utwór:", utwór.tytuł, utwór.url)
# wybierz tutaj dowolny format pobierania, który wybiorę
# Format „mp3-v0”, czyli plik mp3 o rozdzielczości 320 KB
format =„mp3-v0”
# funkcja pobierze utwór/audio za pomocą
# użytkownik wprowadził nazwę i pobrał plik audio
# określony format
dla utworu w album.tracks():
utwór.pobierz(bc_path, utwór.tytuł.replace("/","")+"."
+ format)
print("Pobieranie zakończone:", bc_path)
z wyjątkiem wyjątku jako e:
print(str(e))
zdecydowanie główna():
podczas gdy prawda:
print("Wybierz opcję:")
print("1. Program do pobierania YouTube")
print("2. Narzędzie do pobierania SoundCloud")
print("3. Narzędzie do pobierania Bandcamp")
print("4. Wyjdź")
wybór =wejście("Wpisz swój wybór:")
jeśli wybór ==„1”:
url =input("Wpisz adres URL YouTube:")
YouTube_Downloader (adres URL)
wybór elif ==„2”:
url =input("Podaj adres URL Soundcloud:")
Soundcloud_Downloader(url)
wybór elif ==„3”:
url =input("Podaj adres URL Bandcamp:")
Bandcamp_Downloader(url)
wybór elif ==„4”:
print("Wychodzę...")
przerwa
if __name__ =="__main__":
główny()
```