Como Fazer Download de Transcrições de Vídeos do YouTube
No mundo atual, que está cheio de vídeos online, conseguir as transcrições desses conteúdos é muito importante. Isso ajuda na acessibilidade, melhora o SEO e facilita a análise de dados. No entanto, nem sempre é fácil encontrar essas transcrições, especialmente em vídeos do YouTube. Aqui, vou explicar como você pode baixar transcrições de vídeos do YouTube usando Python de forma bem simples. Com isso, você pode ainda automatizar o processo para várias finalidades, como análise de dados e resumo de conteúdo com técnicas de Inteligência Artificial.
Ferramentas e Bibliotecas Necessárias
Para pegar as transcrições dos vídeos do YouTube, vamos usar a biblioteca youtube-transcript-api. Essa ferramenta facilita bastante, pois permite que a gente consiga as legendas direto do vídeo. Ela é especialmente útil para vídeos que já têm legendas geradas automaticamente.
Instalando a Biblioteca
Primeiro, precisamos instalar a biblioteca youtube-transcript-api. Isso é super fácil e pode ser feito com o comando abaixo:
bash
!pip install youtube-transcript-api
Assim que a biblioteca estiver instalada, já estaremos prontos para extrair as transcrições.
Em seguida, vamos escrever um script que baixa a transcrição de um vídeo do YouTube. Vou compartilhar um código que torna essa tarefa bem fácil.
Extraindo o ID do Vídeo e Buscando a Transcrição
Vamos precisar de uma função para pegar o ID do vídeo a partir de uma URL do YouTube. Depois, vamos criar outra função para buscar a transcrição. Veja como isso pode ser feito:
python
from youtube_transcript_api import YouTubeTranscriptApi
import re
def extract_video_id(url):
Esse padrão regex extrai o ID do vídeo de uma URL típica do YouTube.
pattern = r"(?:v=|/)([0-9A-Za-z_-]{11}).*"
match = re.search(pattern, url)
return match.group(1) if match else None
def fetch_transcript(video_id, language=’pt’):
try:
Busca a transcrição na linguagem especificada
transcript = YouTubeTranscriptApi.get_transcript(video_id, languages=[language])
return transcript
except Exception as e:
print(f"Erro ao buscar transcrição: {e}")
return None
Salvando a Transcrição em um Arquivo
Depois de conseguir a transcrição, é uma boa ideia salvá-la em um arquivo para usar depois. Para isso, podemos usar a seguinte função:
python
def save_transcript_to_file(transcript, file_name=’transcript.txt’):
with open(file_name, ‘w’, encoding=’utf-8′) as f:
for entry in transcript:
start_time = entry[‘start’]
text = entry[‘text’]
f.write(f”{start_time:.2f}: {text}n”)
Essa função passa por cada parte da transcrição e salva o tempo em que a fala começa e o texto correspondente em um arquivo.
Automatizando o Processo
Agora, vamos criar uma função principal que junta todos os passos que falamos, permitindo que o usuário forneça apenas a URL do vídeo e o idioma que deseja:
python
def export_youtube_transcript(url, language=’pt’, file_name=’transcript.txt’):
video_id = extract_video_id(url)
if not video_id:
print(“URL do YouTube inválida.”)
return
transcript = fetch_transcript(video_id, language)
if transcript:
save_transcript_to_file(transcript, file_name)
print(f"Transcrição salva em {file_name}")
else:
print("Nenhuma transcrição disponível ou falha ao buscar.")
youtube_url = input(“Digite a URL do vídeo do YouTube: “)
export_youtube_transcript(youtube_url)
Conclusão
Esse script permite que você baixe transcrições de vídeos do YouTube de um jeito bem prático e automático. Isso é muito útil para quem precisa criar conjuntos de dados, fazer análises textuais ou simplesmente arquivar o conteúdo de vídeos que achou interessante.
Você pode também usar essa técnica para aplicar modelos que analisam sentimentos, resumem conteúdos ou até para criar legendas em outros idiomas. Isso torna o processo muito poderoso, especialmente para aplicações em Inteligência Artificial.
Se você quiser testar esse script diretamente no Google Colab, é só achar um ambiente online e começar a brincar!
Agora que você já sabe como funciona, é hora de colocar a mão na massa e começar a baixar suas transcrições de vídeo preferidas!