Desenvolvimento de Robô Automatizado para Coleta e Análise de Dados Eleitorais

O instrutor da matéria Botcity + Python Benevaldo Pereira,  nos confiou um projeto desafiador e empolgante: o desenvolvimento de um robô automatizado para o levantamento de dados eleitorais. A missão é criar uma solução que colete informações sobre os eleitores.

Esse projeto não apenas nos permitirá aplicar os conhecimentos adquiridos durante o curso, mas também nos dará a oportunidade de contribuir para a transformação digital de uma empresa. Estamos animados para trabalhar em equipe e implementar essa solução inovadora, utilizando as melhores práticas de automação e análise de dados.

Para implementar uma solução a partir de um robô automatizado que seja capaz de realizar os seguintes passos:

Passo 1: Para gravar dados no banco de dados 

Primeiro criamos uma tabela "eleitor" em um banco de dados já existente "banco".
Posteriormente, foi necessário implementar as funções POST, PUT, GET e DELETE no projeto api_database, desenvolvido nas aulas anteriores. Para mais detalhes sobre o projeto da API, consulte o link fornecido: api_database.


Passo 02: Criação do Projeto bot_eleitor

● Criar um novo projeto usando o botcity Web com Python chamado (bot_id) : bot_eleitor
   Criamos o projeto com a seguite estrutura:

Passo 03 - Etapa 01 das funcionalidades do robô:

● Realizar a leitura dos dados da Planilha: RelacaoEleitor.xlsx

    Neste passo criamos a seguinte lógica para o robô:
  • O robô é programado para navegar até o site do Tribunal Superior Eleitoral.
  • Após entrar no site, o bot localiza e acessa a seção específica para consulta do número do título eleitoral.
  • Nesta etapa, o formulário de autenticação é exibido, solicitando dados como CPF, data de nascimento e nome da mãe.
  • O bot acessa a planilha RelacaoEleitor.xlsx, onde estão armazenados os dados dos eleitores, como CPF, data de nascimento e nome da mãe.
  • Com os dados extraídos da planilha, o bot preenche automaticamente o formulário de autenticação no site.
  • Após o preenchimento correto, o robô entra na página que exibe todas as informações do título de eleitor.
  • Finalmente, o bot faz o download de um PDF que contém os dados eleitorais do eleitor consultado.
                                                                        Vídeo 
Para o fim desse passo, são coletadas os dados do arquivof "RelacaoEleitor.xlsx" e os dados do eleitor a partir do site do TSE, com esses dados é gerado um JSON com todos os dados para ser inserido no banco de dados a partir de uma ruquisição de POST do projeto api_database.


Passo 04 - Etapa 02 das funcionalidades do robô:

Consulta aos Registros da Tabela Eleitor:

  • Após a conclusão do Passo 03, onde os dados dos eleitores foram armazenados no banco de dados, o robô realiza uma consulta para obter todos os registros gravados na tabela eleitor.

Obtenção do Endereço via API de CEP:

  • Para cada eleitor recuperado da tabela, o robô utiliza o CEP presente no registro e faz uma requisição à API da ViaCEP (https://viacep.com.br/ws/{cep}/json/). Através dessa consulta, o robô obtém o endereço completo do eleitor.

Geração de Arquivo PDF com Dados e Endereço:

  • Com os dados de cada eleitor, incluindo o endereço obtido via API, o robô gera automaticamente um arquivo PDF que contém todas as informações relevantes do eleitor e o seu respectivo endereço.

Combinar PDFs:

  • Após a geração do PDF contendo os dados e endereço do eleitor, o robô realiza um merge (mesclagem) entre este PDF e o PDF gerado anteriormente no processo (passo 3), que contém os dados eleitorais.

Envio do Email:

  • O robô prepara um email para o destinatário, inserindo um conteúdo personalizado no corpo do email com as informações relevantes e com o anexos do pdf final gerado.

   Vídeo da automação


Antônio Nascimento

Estudante, atualmente cursando a graduação em ciência da computação, sempre demonstrou interesse por tecnologia e programação, o que o levou a escolher essa área dinâmica e em constante evolução.

Postar um comentário

Postagem Anterior Próxima Postagem