```python
importer le système d'exploitation
depuis pytube importer YouTube
demandes d'importation
importer Soundcloud
depuis bandcamp importer Bandcamp
à partir de bs4 importer BeautifulSoup
par défaut YouTube_Downloader (url) :
essayer:
# création d'objets à l'aide de YouTube
# qui a été importé au début
yt =Youtube(url)
# formats et résolutions pouvant être
# téléchargé selon votre système s'affichera
# ici
print("Résoultions disponibles :")
all_res =yt.streams.all()
pour moi dans all_res :
imprimer(je)
# la vidéo la plus haute résolution possible
# téléchargé est sélectionné
ys =yt.streams.get_highest_resolution()
# chemin où toutes les vidéos seront enregistrées
yt_path =os.getcwd()
# vidéo est téléchargée vers l'emplacement spécifié
# emplacement
ys.download(yt_path)
print("Téléchargement terminé :", yt_path)
sauf exception comme e :
imprimer(str(e))
par défaut Soundcloud_Downloader (url) :
essayer:
# chemin où tous les audios seront enregistrés
sc_path =os.getcwd()
# création d'objets à l'aide de soundcloud
client =soundcloud.Client()
# track =client.get(url) est un objet
# mais comme nous voulons seulement un audio diffusable
# URL de téléchargement donc 'stream_url'
audio =client.get (url, résolution =False)
stream_url =audio.stream_url
# get requête pour obtenir le contenu
réponse =request.get (stream_url, stream =True)
# nommer le fichier audio
# ici, je nomme le fichier audio de la même manière que
# le titre de la piste avec .mp3 comme extension
nom de fichier =sc_path + '/' + audio.title.replace("/", "") + ".mp3"
# méthode open en python ouvre le fichier en écriture
# Mode pour enregistrer le contenu du fichier. Ici,
# le fichier audio sera stocké dans le système.
avec open(filename, "wb") comme f :
pour le morceau dans réponse.iter_content(chunk_size=1024) :
si morceau :
f.write(morceau)
print("Téléchargement terminé :", nom du fichier)
sauf exception comme e :
imprimer(str(e))
par défaut Bandcamp_Downloader(url) :
essayer:
# chemin où tous les audios seront enregistrés
bc_path =os.getcwd()
# la fonction prend l'url de l'album comme
# argument et renvoie l'objet pour cela
# album particulier
album =Camp de bande (url)
# ce qui suit pour les boucles imprime le nom de la piste
# et URL de toutes les pistes présentes dans le
#album
pour la piste dans album.tracks() :
print("Piste :", piste.titre, piste.url)
# choisissez n'importe quel format de téléchargement ici que je choisis
# Format "mp3-v0" qui est un mp3 de 320k
format ="mp3-v0"
# La fonction téléchargera la chanson/l'audio avec
# utilisateur a saisi son nom et télécharge l'audio dans
# format spécifié
pour la piste dans album.tracks() :
track.download(bc_path, track.title.replace("/","")+"."
+ format)
print("Téléchargement terminé :", bc_path)
sauf exception comme e :
imprimer(str(e))
def main() :
tandis que Vrai :
print("Sélectionnez une option :")
print("1. Téléchargeur YouTube")
print("2. Téléchargeur SoundCloud")
print("3. Téléchargeur Bandcamp")
print("4. Quitter")
choix =input("Entrez votre choix :")
si choix =="1":
url =input("Entrez l'URL YouTube :")
YouTube_Downloader(url)
choix elif =="2":
url =input("Entrez l'URL Soundcloud :")
Soundcloud_Downloader(url)
choix elif =="3":
url =input("Entrez l'URL de Bandcamp :")
Bandcamp_Downloader(url)
choix elif =="4":
print("Sortie...")
casser
si __name__ =="__main__":
principal()
```