Giter Club home page Giter Club logo

analise_dados_youtube's Introduction

Introdução

Este projeto tem como a proposta de elaborar uma arquitetura de extração da API do youtube até a elaboração do dashboard.

Conceitos Rápidos

  • DAG: É uma representação do fluxo de trabalho, sem ciclos
  • Operators: São classes no Airflow que representam uma tarefa específica.
  • Hooks: São usados para fazer iterações entre os sistemas, seja API, banco de dados

Endpoints utilizados:

  1. Pesquisar assunto do YouTube:

    • URL: /youtube/v3/search
    • Descrição: URL para obter os vídeos por assunto. Salva todo o histórico de busca, independente do idioma do canal.
  2. Filtrar canais brasileiros:

    • URL: /youtube/v3/channels
    • Descrição: Após salvar os registros, esta URL é usada para consultar o idioma do canal e gerar uma lista de vídeos dos canais.
  3. Obter dados dos vídeos:

    • URL: /youtube/v3/videos
    • Descrição: Após obter a lista de vídeos brasileiros, esta URL é usada para obter os dados completos. Os campos viewCount, likeCount, favoriteCount, commentCount serão usados, sempre gravando os dados históricos.
  4. Extrair comentários:

    • URL: /youtube/v3/commentThreads
    • Descrição: Depois de extrair a lista de vídeos, esta URL é executada para extrair os comentários, gravando a requisição original em um datalakes.
  5. Extrair respostas dos comentários:

    • URL: /youtube/v3/comments
    • Descrição: Depois de extrair os comentários, cada comentário tem um ID que mostra se possui respostas. Esta URL é usada para extrair as respostas dos comentários.

Estrutura do datalake:

A figura abaixo mostra a estrutura do datalake que foi construido.

Exemplo de imagem

A Figura abaixo mostra o fluxo de dados até a geração do dashboard

Exemplo de imagem

A figura abaixo mostra o diagrama de classe da composição da dag. A lógica ficaria assim: para cada endpoints da api do youtube, iria herdar da classe base com seus requisitos específicos.

A figura abaixo mostra uma proposta de diagrama de atividade para a DAG

Organização do dashboard

O dashboard possui duas páginas divididas da seguinte maneira:

Página Análise Assunto

Responsável por gerar as métricas de visualização de acordo com os assuntos selecionados. As métricas em questão são:

  • Comparação do desempenho por dia do vídeo selecionando visualização, comentários e likes.
  • Frequência dos vídeos publicados: Qual o dia da semana que possui o pico de vídeos publicados.
  • Top 10 Vídeos com mais visualizações selecionando dia e comentários, visualizações e likes.
  • Desempenho do canal por dia selecionando comentários, visualizações e likes.
  • Desempenho do vídeo por dia selecionando comentários, visualizações e likes.
  • Quantidade de palavras-chave no título.
  • Taxa de engajamento por dia.
  • Análise popularidade tags.

Análise Trends

  • Top 10 Categorias Populares selecionando Visualizações, comentários e likes e dia.
  • Top 10 Canais Populares selecionando Visualizações, comentários e likes e dia.
  • Desempenho Categoria dia selecionando Visualizações, comentários e likes e dia.
  • Top 10 Vídeo por Categoria.
  • Top 10 Engajamento Canal.
  • Top 10 Engajamento Vídeo.

Discussão das métricas

  • Total de visualizações/comentários e likes por dia: A API do YouTube fornece esses dados de forma cumulativa. Para obter as visualizações/comentários e likes por dia, é necessário pegar o maior valor do dia e posteriormente subtrair o valor do dia atual ao do dia anterior.

  • Taxa de engajamento: A taxa de engajamento é a quantidade de interações entre o público do canal e o conteúdo dele. A fórmula da taxa de engajamento é:

    Taxa de Engajamento = [(Número de Curtidas + Número de Comentários + Número de Compartilhamentos) / Número Total de Visualizações] * 100

Observações:

Mesmo que o diagrama de atividade apresente, no final do processo, uma execução completa, uma proposta seria de implementar uma verificação de vídeos que contenham comentários antes de fazer todo o fluxo de comentários. Também pode ser desenvolvido, uma análise de inscritos que se inscreveram/desincreveram por dia.

Demonstração

Clique aqui para ver a demonstração

analise_dados_youtube's People

Contributors

rodrigorocha1 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.