Analisando propostas

Automatizar a extração de dados de contas de energia de concessionárias via web scraping e criar uma Api para disponibilizar essas informações de forma organizada e segura.

Publicado em 09 de Janeiro de 2025 dias na TI e Programação

Sobre este projeto

Aberto

Preciso desenvolver um novo modulo em nosso sistema de extração de informação e geração de api nas contas de energia de nossos clientes em diferentes concessionárias de Energia do Brasil. Atualmente utilizamos um fornecedor para essa atividade e pretendemos ter desenvolvimento proprio. Nesse momento, estamos com clientes em 6 concessionárias de energia.

Contexto Geral do Projeto

Projeto: Sistema de Robôs para Processar Contas de Energia e Expor API Objetivo Automatizar a extração de dados de contas de energia de concessionárias via web scraping e criar uma API para disponibilizar essas informações de forma organizada e segura. 1. Estruturação do Projeto Módulo 1: Robô de Automação (Web Scraping) Utilizar ferramentas de automação para acessar os portais das concessionárias. Efetuar login usando as credenciais dos clientes. Navegar até a seção de contas e baixar os dados relevantes (PDFs, XML ou informações exibidas no site). Módulo 2: Extração de Dados Processar os documentos obtidos (pdf/xml/html). Converter os dados para um formato estruturado (JSON ou banco de dados). Validar a integridade e a consistência das informações extraídas. Módulo 3: API Criar uma API RESTful para expor os dados das contas de energia. Implementar endpoints como: GET /contas/{cliente_id}: Retorna as contas do cliente. GET /contas/{cliente_id}/{mes}: Retorna a conta de um mês específico. POST /contas: Permite cadastrar dados adicionais ou atualizar informações. Adicionar autenticação via token para garantir segurança. Módulo 4: Painel de Administração Dashboard para monitorar o status dos robôs e os dados processados. Funcionalidades de auditoria e logs de atividades. 2. Ferramentas e Tecnologias Web Scraping e Automação Linguagem: Python. Bibliotecas: Selenium (para interagir com sites dinâmicos). BeautifulSoup ou Scrapy (para parsing de dados). PyPDF2 ou PDFPlumber (para extração de dados de PDFs, se necessário). Armazenamento de Dados Banco de dados relacional: PostgreSQL ou MySQL. Banco de dados NoSQL (opcional): MongoDB. Criação da API Frameworks: Flask ou FastAPI (Python). Express.js (Node.js). Autenticação: jwt (json web token). OAuth2 (se necessário). Infraestrutura Hospedagem: AWS, Azure ou Google Cloud. Orquestração de Robôs: Airflow (para agendamento e monitoramento). Painel de Administração Framework: Django ou React.js para frontend. Biblioteca de gráficos: Chart.js ou D3.js. 3. Fluxo do Sistema Coleta de Dados Usuário fornece credenciais do site da concessionária. Robô faz login, coleta dados e os armazena. Processamento Dados extraídos são estruturados e validados. Informações irrelevantes ou redundantes são descartadas. Exposição via API A API recebe e responde a requisições de usuários ou sistemas integrados. Auditoria e Logs Todas as ações são registradas para fins de auditoria e debugging. 4. Segurança e Considerações Legais Segurança Armazenar credenciais dos clientes de forma segura (encriptação AES ou similar). Implementar autenticação forte para acesso à API e painel administrativo. Legalidade Obter consentimento explícito dos clientes para acessar os dados. Garantir conformidade com a LGPD (Lei Geral de Proteção de Dados). 5. Entregáveis Robôs configurados para acessar diferentes concessionárias. API funcional com endpoints para leitura das contas. Painel administrativo para monitoramento. Documentação técnica (manual de uso da API, instruções de deploy)

Categoria TI e Programação
Subcategoria Data Science
Tamanho do projeto Médio
Isso é um projeto ou uma posição de trabalho? Um projeto
Disponibilidade requerida Conforme necessário

Prazo de Entrega: Não estabelecido

Habilidades necessárias