``` питон
внос ос
от pytube импортирайте YouTube
заявки за импортиране
импортиране на soundcloud
от bandcamp импортиране на Bandcamp
от bs4 импортирайте BeautifulSoup
def YouTube_Downloader(url):
пробвай:
# създаване на обект с помощта на YouTube
# който беше импортиран в началото
yt =Youtube (url)
# формати и резолюции, които могат да бъдат
Ще се покажат # изтеглени според вашата система
# тук
print("Налични резултати:")
all_res =yt.streams.all()
за мен в all_res:
печат (i)
# видеоклипът с най-висока резолюция
Избрано е # изтеглено
ys =yt.streams.get_highest_resolution()
# път, където всички видеоклипове ще бъдат запазени
yt_path =os.getcwd()
# видеоклип се изтегля в посочения
# местоположение
ys.download(yt_path)
print("Изтеглянето е завършено:", yt_path)
с изключение на изключение като e:
печат (str(e))
def Soundcloud_Downloader(url):
пробвай:
# път, където всички аудиозаписи ще бъдат запазени
sc_path =os.getcwd()
# създаване на обект с помощта на soundcloud
клиент =soundcloud.Client()
# track =client.get(url) е обект
# но тъй като искаме само поточно аудио
# URL за изтегляне, така че „stream_url“
аудио =client.get(url, разрешаване =False)
stream_url =audio.stream_url
# получаване на заявка за получаване на съдържанието
отговор =requests.get(stream_url, поток =True)
# име на аудио файла
# тук именувам аудио файла по същия начин като
# заглавието на песента с .mp3 като разширение
име на файл =sc_path + '/' + audio.title.replace("/", "") + ".mp3"
# отворен метод в python отваря файла при запис
# режим за запазване на съдържанието във файла. тук,
# аудио файлът ще бъде съхранен в системата.
с open(filename, "wb") като f:
за парче в response.iter_content(chunk_size=1024):
ако парче:
f.write (парче)
print("Изтеглянето завърши:", име на файл)
с изключение на изключение като e:
печат (str(e))
def Bandcamp_Downloader(url):
опитайте:
# път, където всички аудиозаписи ще бъдат запазени
bc_path =os.getcwd()
# функцията приема url на албума като
# аргумент и връща обекта за това
# конкретен албум
албум =Bandcamp(url)
# следните цикли for отпечатват името на песента
# и URL на всички песни, присъстващи в
# албум
за запис в album.tracks():
print("Track:", track.title, track.url)
# изберете произволен формат за изтегляне тук, който избера
# "mp3-v0" формат, който е mp3 от 320k
формат ="mp3-v0"
# функция ще изтегли песента/аудиото с
# потребител въведе име и изтегля аудиото
# зададен формат
за запис в album.tracks():
track.download(bc_path, track.title.replace("/","")+"."
+ формат)
print("Изтеглянето завърши:", bc_path)
с изключение на изключение като e:
печат (str(e))
def main():
докато е вярно:
print("Изберете опция:")
print("1. YouTube Downloader")
print("2. SoundCloud Downloader")
print("3. Bandcamp Downloader")
print("4. Изход")
избор =вход ("Въведете своя избор:")
ако избор =="1":
url =input("Въведете URL адрес в YouTube:")
YouTube_Downloader(url)
elif избор =="2":
url =input("Въведете URL адрес на Soundcloud:")
Soundcloud_Downloader(url)
elif избор =="3":
url =input("Въведете URL адрес на Bandcamp:")
Bandcamp_Downloader(url)
elif избор =="4":
print("Излизане...")
прекъсвам
if __name__ =="__main__":
основен ()
```