Sobre este projeto
it-programming / web-development
Aberto
Descrição do Projeto:
Preciso de uma aplicação em Python para realizar o scraping automático de notas fiscais emitidas para CNPJ que eu colocar nas seguintes prefeituras: São Paulo, Cotia, Itapecerica da Serra, Embu, Itapevi, e Vargem Grande Paulista. A aplicação deverá ser configurável para que novas prefeituras possam ser adicionadas no futuro de forma simples.
Funcionalidades principais:
1. Scraping Automático:
A aplicação deve realizar o scraping das notas fiscais emitidas para um CNPJ específico nas prefeituras mencionadas.
O scraping deve ser executado automaticamente uma vez por dia, com a opção de ajustar a frequência, se necessário.
2. Autenticação:
A aplicação deve permitir a inserção de login e senha para autenticação nos portais das prefeituras, quando necessário.
Deve haver suporte para diferentes tipos de autenticação, como campos de formulário e CAPTCHA simples (se aplicável).
3. Extração de Dados:
Extrair as seguintes informações de cada nota fiscal: número da nota, data de emissão, valor, descrição, e outros detalhes relevantes.
Possibilidade de exportar os dados em formato CSV ou Excel para consulta e controle.
4. Integração com Certificado Digital (Opcional):
Caso algum portal exija, a aplicação deverá suportar a integração com certificados digitais para realizar o login.
5. Interface de Configuração:
Uma interface simples (pode ser linha de comando ou uma interface web leve) onde eu possa:
Inserir as credenciais de login para cada prefeitura.
Adicionar novas prefeituras de forma configurável.
Definir o CNPJ para consulta.
Configurar a frequência de execução do scraping.
6. Armazenamento de Dados:
Salvar os dados extraídos em um arquivo CSV, Excel, ou em um banco de dados simples, como SQLite.
Armazenar logs de erros ou falhas de execução para monitoramento.
7. Modularidade:
O sistema deve ser desenvolvido de maneira modular, de forma que seja fácil adicionar novas prefeituras no futuro sem a necessidade de grandes mudanças na estrutura da aplicação.
8. Escalabilidade:
Permitir que novos portais de prefeituras sejam adicionados à aplicação sem complexidade excessiva.
9. Monitoramento e Notificação:
Gerar relatórios diários das notas fiscais extraídas.
Notificar via email ou outra solução simples caso algum erro ocorra durante o scraping (como falha de login, site fora do ar, etc.).
10. Código Limpo e Documentado:
O código deve ser claro e bem documentado, incluindo instruções sobre como instalar e rodar a aplicação.
Comentários explicativos sobre o funcionamento das funções-chave e como adicionar novos sites de prefeituras.
Requisitos Técnicos:
A aplicação deve ser desenvolvida em Python.
Uso de bibliotecas como Selenium (para automação de navegador) ou BeautifulSoup (para parsing de HTML) ou outras ferramentas de scraping adequadas.
Implementação de agendamento diário usando o cron (para Linux) ou Task Scheduler (para Windows), ou integrar com uma solução de agendamento na nuvem.
A aplicação deve rodar em ambientes Linux e Windows.
Prazo e Entrega:
Estimativa de entrega em out/24 com entregas parciais a cada etapa do projeto (login, scraping, exportação de dados, etc.).
Suporte pós-entrega para ajustes de eventuais erros ou melhorias.
Outras Considerações:
Experiência prévia em projetos de scraping e automação web.
Entendimento de diferentes tipos de autenticação em portais (login simples, CAPTCHA, etc.).
Experiência com manipulação de dados e exportação para formatos CSV/Excel.
Disponibilidade para adicionar futuras prefeituras.
Contexto Geral do Projeto
Somos uma contabilidade precisamos da aplicacao para monitorar NFS emitidas contra o cnpj dos nossos clientes.
Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Criar um novo site personalizado
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Conforme necessário
Funções necessárias Desenvolvedor
Prazo de Entrega: Não estabelecido
Habilidades necessárias