Baixando Vídeos do YouTube com Python e a Biblioteca pytube
Neste artigo você vai aprender:
O que é o pytube e como instalá-lo.
Como baixar vídeos em diferentes formatos e qualidades.
Como extrair apenas o áudio de um vídeo.
Como automatizar o processo para playlists inteiras.
Boas práticas e cuidados ao utilizar o recurso.
🔹 1. O que é o pytube?
O pytube é uma biblioteca Python que permite interagir com vídeos do YouTube de forma programática.
Com ela, podemos:
Baixar vídeos em diferentes resoluções.
Extrair apenas o áudio.
Baixar legendas.
Trabalhar com playlists completas.
🔹 2. Instalando o pytube
A instalação é bem simples, basta usar o pip:
pip install pytube
Caso esteja usando Jupyter Notebook ou Google Colab, basta rodar:
!pip install pytube
🔹 3. Baixando um vídeo simples
O exemplo mais básico é baixar um vídeo em qualidade padrão.
from pytube import YouTube
# Link do vídeo
url = "https://www.youtube.com/watch?v=example"
# Criando objeto YouTube
yt = YouTube(url)
# Baixando em qualidade padrão (primeiro stream disponível)
stream = yt.streams.get_highest_resolution()
stream.download()
print("✅ Vídeo baixado com sucesso!")
🔎 Explicando:
YouTube(url)cria um objeto representando o vídeo.streamscontém todas as opções de qualidade e formatos disponíveis.get_highest_resolution()escolhe a melhor qualidade.download()baixa o arquivo para a pasta atual.
🔹 4. Escolhendo qualidade e formato
Nem sempre queremos a maior qualidade, pois arquivos em 1080p ou 4K são maiores. Podemos selecionar manualmente:
# Baixar em 720p
yt.streams.filter(res="720p", file_extension="mp4").first().download()
# Baixar apenas áudio
yt.streams.filter(only_audio=True).first().download()
💡 O parâmetro filter() permite escolher por:
res→ resolução (144p,360p,720p,1080p, etc.).file_extension→ tipo de arquivo (mp4,webm).only_audio=True→ apenas áudio.
🔹 5. Definindo pasta de destino
Por padrão, os vídeos são baixados na pasta onde o script está rodando.
Podemos mudar isso passando um diretório no download():
# Salvar em uma pasta específica
stream.download(output_path="C:/MeusVideos")
🔹 6. Baixando apenas o áudio (MP3)
Se a ideia é criar uma playlist de músicas, podemos extrair apenas o áudio:
audio_stream = yt.streams.filter(only_audio=True).first()
caminho = audio_stream.download(output_path="C:/MeusAudios")
# Renomeando para .mp3
import os
base, ext = os.path.splitext(caminho)
novo_arquivo = base + ".mp3"
os.rename(caminho, novo_arquivo)
print("🎵 Áudio salvo como MP3!")
🔹 7. Baixando uma playlist completa
Se você quiser baixar vários vídeos de uma só vez (exemplo: um curso inteiro do YouTube), pode usar Playlist:
from pytube import Playlist
url_playlist = "https://www.youtube.com/playlist?list=example"
playlist = Playlist(url_playlist)
print(f"📂 Baixando {len(playlist.video_urls)} vídeos da playlist...")
for video_url in playlist.video_urls:
yt = YouTube(video_url)
yt.streams.get_highest_resolution().download(output_path="C:/CursoYouTube")
print("✅ Playlist baixada com sucesso!")
🔹 8. Tratando erros (boas práticas)
Nem sempre os downloads funcionam de primeira — vídeos podem estar bloqueados, privados ou com restrições.
Podemos usar try/except para evitar falhas:
for video_url in playlist.video_urls:
try:
yt = YouTube(video_url)
yt.streams.get_highest_resolution().download(output_path="C:/CursoYouTube")
print(f"✔ Baixado: {yt.title}")
except Exception as e:
print(f"❌ Erro ao baixar {video_url}: {e}")
🔹 9. Projeto prático: Downloader interativo
Podemos transformar esse código em um programa interativo que pergunta o link e o tipo de download:
from pytube import YouTube
url = input("Digite a URL do vídeo do YouTube: ")
yt = YouTube(url)
print("Título:", yt.title)
print("Escolha uma opção:")
print("1 - Baixar vídeo em alta resolução")
print("2 - Baixar apenas áudio (MP3)")
opcao = input("Opção: ")
if opcao == "1":
yt.streams.get_highest_resolution().download()
print("✅ Vídeo baixado com sucesso!")
elif opcao == "2":
audio_stream = yt.streams.filter(only_audio=True).first()
caminho = audio_stream.download()
import os
base, ext = os.path.splitext(caminho)
os.rename(caminho, base + ".mp3")
print("🎵 Áudio salvo como MP3!")
else:
print("❌ Opção inválida")
🔹 10. Cuidados legais e boas práticas
⚠️ Antes de sair baixando vídeos, é importante lembrar:
O YouTube não permite o download de conteúdo sem autorização do criador.
Use esse recurso apenas para fins educacionais, pessoais ou com vídeos de uso livre.
Nunca redistribua ou comercialize vídeos baixados sem direitos autorais.
🔹 11. Conclusão
Com o pytube e poucas linhas de código, conseguimos:
✅ Baixar vídeos em diferentes qualidades.
✅ Extrair apenas o áudio em MP3.
✅ Baixar playlists completas automaticamente.
✅ Criar um downloader interativo em Python.
Isso mostra como Python é poderoso para automação e manipulação de mídia.

Comentários
Postar um comentário