Como Automatizar a Extração de Visualizações de Playlists com Python e YouTube Data API

Neste artigo, mostramos como usar Python e a YouTube Data API para criar um programa que coleta automaticamente os IDs e visualizações de vídeos de qualquer playlist pública.

Para usar a YouTube Data API com Python, crie um projeto no Google Cloud, ative a YouTube Data API v3 e gere uma chave de API. Depois instale a biblioteca google-api-python-client e chame os endpoints da API para coletar dados de vídeos e playlists — como IDs, títulos e número de visualizações — automaticamente, sem abrir o navegador.

Baixe o código completo ou siga passos claros para configurar a API, escrever o código e até personalizar a saída para suas necessidades!

Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail:

Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.

O que é necessário para começar o projeto?

Para extrair dados de uma playlist do YouTube, você usará Python e algumas bibliotecas específicas, além de configurar acesso à API do YouTube. Aqui está o que você precisa:

  • Python instalado: Versão 3.x (recomendado 3.8 ou superior).
  • Editor de código: Como VS Code ou qualquer outro de sua preferência.
  • Bibliotecas Python:
    • google-api-python-client: Para interagir com a API do YouTube.
    • google-auth-oauthlib: Para autenticação.
  • Conta Google: Para acessar o Google Cloud Console e criar credenciais.
  • ID da playlist: Encontrado na URL da playlist ou de um vídeo dela.
projeto Python aberto, mostrando o ambiente configurado

Como configurar a YouTube Data API?


A YouTube Data API permite acessar dados públicos de vídeos, playlists e canais de forma programática. É a maneira mais prática e segura de coletar informações como visualizações, títulos e IDs, com documentação clara e suporte para Python.

Como configurar o acesso?
Siga estes passos para configurar a API:

  1. Acesse o Google Cloud Console: Pesquise “Google Cloud Console” ou acesse console.cloud.google.com.
  2. Crie um projeto: No console, crie um novo projeto ou use um existente.
  3. Ative a API: Vá em “APIs e Serviços” > “Biblioteca”, busque por “YouTube Data API v3” e clique em “Ativar”.
  4. Crie credenciais:
    • Em “Credenciais”, clique em “Criar Credenciais” > “ID do Cliente OAuth 2.0”.
    • Escolha “Aplicativo de Computador” e dê um nome (ex.: “YouTube Automation”).
    • Baixe o arquivo JSON gerado e renomeie para secrets.json.
  5. Mova o arquivo: Coloque o secrets.json na pasta do seu projeto Python.

Dica: O arquivo secrets.json contém suas chaves de autenticação, então mantenha-o seguro e não compartilhe.

tela do Google Cloud Console mostrando a ativação da YouTube Data API v3

Como instalar as bibliotecas necessárias?

Para interagir com a API, instale as bibliotecas google-api-python-client e google-auth-oauthlib via pip. Execute os seguintes comandos no terminal:

pip install google-api-python-client

pip install google-auth-oauthlib

Como verificar se funcionou?
Após a instalação, importe as bibliotecas no seu código Python. Se não houver erros, a instalação foi bem-sucedida.

Quando usar?
Essas bibliotecas são essenciais para qualquer projeto que envolva APIs do Google, como YouTube, Google Sheets ou Google Drive.

Como escrever o código para extrair dados da playlist?

Como obter os IDs dos vídeos e suas visualizações?
O código usa a API para listar os vídeos de uma playlist e extrair suas estatísticas. Abaixo está o código comentado, dividido em etapas:

Python
from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow

# Configurar autenticação com o arquivo secrets.json
flow = InstalledAppFlow.from_client_secrets_file('secrets.json', ['https://www.googleapis.com/auth/youtube.readonly'])
credentials = flow.run_local_server(port=0)  # Autenticação local
youtube = build('youtube', 'v3', credentials=credentials)

# ID da playlist (encontrado na URL da playlist)
playlist_id = 'SEU_PLAYLIST_ID_AQUI'  # Ex.: PLP9I5fo2nwR...

# Requisição para listar vídeos da playlist
response = youtube.playlistItems().list(
    part='contentDetails,snippet',
    playlistId=playlist_id,
    maxResults=50  # Máximo de vídeos por requisição
).execute()

# Extrair IDs dos vídeos
videos = response['items']
ids_videos = ['videoId'] for video in videos]

# Transformar IDs em texto separado por vírgulas
ids_texto = ','.join(ids_videos)

# Requisição para obter estatísticas dos vídeos
response_videos = youtube.videos().list(
    part='statistics,snippet',
    id=ids_texto
).execute()

# Exibir ID, título e visualizações de cada vídeo
for video in response_videos['items']:
    id_video = video['id']
    title = video['snippet']['title']
    views = video['statistics']['viewCount']
    print(f'{title} ({id_video}) - {views} visualizações')

O que o código faz?

  • Autenticação: Usa o secrets.json para autenticar no YouTube.
  • Lista vídeos: O método playlistItems.list obtém os IDs dos vídeos da playlist.
  • Converte IDs: Usa join para criar uma string com IDs separados por vírgula.
  • Coleta estatísticas: O método videos.list extrai visualizações e títulos.
  • Exibe resultados: Imprime o título, ID e visualizações de cada vídeo.

Como encontrar o ID da playlist?
No YouTube, abra a playlist desejada (ex.: “Curso de Python 2025”). Na URL, o ID aparece após list=, como PLP9I5fo2nwR.... Copie e cole no código.

Ícone PythonPython Impressionador

Você vai aprender a linguagem de Programação que mais cresce no Mundo para fazer automações incríveis, desenvolver sites, fazer análises de dados, trabalhar com Ciência de Dados, Inteligência Artificial, mesmo que você nunca tenha tido nenhum contato com Programação na vida.

Começar agoraSeta para a direita
Fundo PythonTelas Python
Luz Python

Como exibir outras informações, como o título do vídeo?

O código acima já inclui o título do vídeo no resultado, usando o parâmetro snippet na requisição videos.list. Você pode extrair outros dados, como descrição ou data de publicação, consultando a documentação da API. Por exemplo:

  • Descrição: video['snippet']['description']
  • Data de publicação: video['snippet']['publishedAt']

Como adaptar para várias playlists?
Para processar múltiplas playlists, passe uma lista de IDs separada por vírgulas no parâmetro playlistId:

Python
playlist_ids = 'ID1,ID2,ID3'
response = youtube.playlistItems().list(part='contentDetails,snippet', playlistId=playlist_ids, maxResults=50).execute()

Quando personalizar?
Adapte a saída para atender às necessidades do projeto, como gerar relatórios em CSV ou exibir apenas visualizações totais.

Como agendar a automação?

Para executar o código em intervalos regulares (ex.: todo dia às 9h), use a biblioteca Python schedule ou configure um cron job (Linux/Mac) ou Agendador de Tarefas (Windows). Exemplo com schedule:

Python
import schedule

import time

def rodar_automacao():

# Insira o código acima aqui

print("Automação executada!")

schedule.every().monday.at("09:00").do(rodar_automacao)

while True:

schedule.run_pending()

time.sleep(60)

Quando agendar?
Use o agendamento para monitorar visualizações regularmente, como em relatórios semanais ou mensais.

Resumo do Projeto

EtapaDescriçãoFerramenta/Comando
ConfiguraçãoAtivar API e criar credenciaisGoogle Cloud Console
InstalaçãoInstalar bibliotecas Pythonpip install google-api-python-client google-auth-oauthlib
CódigoListar vídeos e extrair visualizaçõesplaylistItems.list e videos.list
PersonalizaçãoAdaptar saída (ex.: título, descrição)Parâmetro snippet
AgendamentoRodar automaticamenteBiblioteca schedule ou cron job

Perguntas frequentes

1. Como usar a YouTube Data API com Python?

Crie um projeto no Google Cloud, ative a YouTube Data API v3 e gere uma chave de API. Instale a biblioteca google-api-python-client e use build('youtube','v3',developerKey=chave) para consultar vídeos, playlists e estatísticas direto pelo código.

2. A YouTube Data API é gratuita?

Sim. A API tem uma cota diária gratuita (10.000 unidades por padrão), suficiente para a maioria dos projetos pessoais. Cada requisição consome uma quantidade de unidades; se precisar de mais, é possível solicitar aumento de cota ao Google.

3. O que dá para coletar com a YouTube Data API?

Você pode obter IDs e títulos de vídeos, visualizações, curtidas e comentários, listar vídeos de uma playlist ou canal e buscar por termos. Tudo de forma estruturada, ideal para relatórios e automações de análise de canais.

4. Preciso de autenticação OAuth?

Para apenas ler dados públicos (vídeos, playlists, estatísticas), basta a chave de API. O OAuth só é necessário quando o programa precisa agir em nome de um usuário, como enviar vídeos ou acessar dados privados do canal.

Conclusão

Aprendemos a criar uma automação que extrai informações de playlists do YouTube utilizando YouTube Data API e Python.

Este projeto é ideal para freelas, analistas de dados ou criadores de conteúdo que querem monitorar o desempenho de vídeos.

Baixe o código completo no início do post e explore outras possibilidades. Personalize para incluir mais dados, títulos, descrições, agendamentos para rodar automaticamente, entre outros!

Gostou deste post? Aprenda mais com guias práticos como este em nossos outros conteúdos sobre Python!

E caso prefira esse conteúdo no formato de vídeo, assista aqui embaixo ou acesse o nosso canal do YouTube!

O que você aprende neste vídeo

Resposta rápida: Nesta aula, o instrutor resolve um projeto freela de Python: automatizar a extração das visualizações dos vídeos de uma playlist do YouTube usando a YouTube Data API. Ele mostra o passo a passo: instalar as bibliotecas do Google, criar as credenciais (OAuth) no Google Cloud Console e baixar o secrets.json, pegar os IDs dos vídeos da playlist (playlistItems.list) e, por fim, buscar as estatísticas de cada vídeo (videos.list com statistics) para extrair o número de views.

Neste vídeo (24 min):

  • 0:00 - O projeto freela: extrair automaticamente as visualizações dos vídeos de uma playlist do YouTube.
  • 1:00 - Consumir a YouTube Data API v3 (pela biblioteca oficial do Google, com a documentação).
  • 3:00 - Criar as credenciais (OAuth) no Google Cloud Console e baixar o secrets.json.
  • 7:00 - Copiar o exemplo de código (playlistItems.list) e autenticar com run_local_server.
  • 12:00 - Extrair os IDs de todos os vídeos da playlist (percorrer a resposta).
  • 17:00 - Buscar as estatísticas (videos.list com statistics) para pegar o view count de cada vídeo.

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Posts mais recentes de Python

Posts mais recentes da Hashtag Treinamentos