O bot Vigia do YouTube é capaz de monitorar canais na plataforma de vídeos do Google e disparar um e-mail caso um material tenha sido removido, ocultado ou apagado.
Além disso, ele mantém um registro do título, descrição, visualizações, likes e outras informações sobre cada upload feito por um canal, mantendo os registros em uma planilha do Google Sheets.
Esta ferramenta usa algumas APIs. Você precisará de:
- Uma chave da API do YouTube (existem inúmeros tutoriais na internet sobre como obtê-la, veja um exemplo)
- Uma chave de API do Google Sheets (siga o passo a passo da bilbioteca gspread, utilizada no projeto). A modalidade usada é "For Bots: Using Service Account".
- Depois de obter o JSON com suas credenciais, codifique o conteúdo do arquivo usando Base64 e armazene o valor em uma variável de ambiente. Veja como realizar o encoding com Base64 aqui. O código do Vigia do YouTube prevê a decodificação.
- Caso você queira usar o script
send_notification.py
, você precisará de uma chave de API do SendGrid. Veja aqui um guia para obter sua chave.
- Quebrar o código em funções menores e independentes
- Criar método para permitir que seja possível, após obter os dados do YouTube, escolher entre salvar um CSV localmente, enviar a tabela para um Google Sheets ou salvar os dados em um banco de dados MongoDB
- Criar uma documentação mais detalhada sobre como obter cada chave de API
Contribuições são bem-vindas.
Agradeço @cuducos e @turicas pelas orientações durante o desenvolvimento do projeto e @gfelitti por inspirar o trabalho – a @novelodata mantém um monitoramento de canais de extrema direita no Brasil.
YouTube Sentinel Bot can monitor channels on Google's video platform and send an email if any material has been removed, hidden, or deleted.
It keeps track of the title, description, views, likes, and other information about each upload, keeping the data in a Google Sheets spreadsheet.
This tool uses some APIs. You will need:
- A YouTube API key (there are numerous tutorials on the internet on how to obtain one, here's an example).
- A Google Sheets API key (follow the step-by-step guide from the gspread library used in the project). The mode used is "For Bots: Using Service Account."
- After obtaining the JSON file with your credentials, encode the file's content using Base64 and store the value in an environment variable. See how to perform Base64 encoding here. The YouTube Sentinel Bot code provides decoding functionality.
- If you want to use the
send_notification.py
script, you will need a SendGrid API key. Here's a guide to obtaining your key.
- Break the code into smaller and independent functions.
- Create a method to allow choosing between saving data to a local CSV file, sending the table to a Google Sheets spreadsheet, or saving the data in a MongoDB database after retrieving the data from YouTube.
- Create more detailed documentation on how to obtain each API key.
Contributions are welcome.
Thanks to @cuducos and @turicas for their guidance during the project's development, and @gfelitti for inspiring the work - @novelodata maintains monitoring of far-right channels in Brazil.