Uma solução automatizada e com arquitetura escalável para prospecção de negócios (Leads) utilizando a inteligência artificial da Groq aliada a técnicas avançadas de Web Scraping.
Este projeto recebe o nome de um mercado, setor comercial ou nicho (ex: "Clínicas Odontológicas em São Paulo") e realiza duas operações de forma assíncrona:
- LLM Search: Consulta a API da Groq (Llama-3) orientando a inteligência a retornar um conjunto de empresas reais com seus respectivos websites devidamente estruturados.
- Deep Scraping: Realiza acessos automatizados (com HTTP timeout safety) a esses domínios em busca de meios de contato telefônico ativo, focando nativamente na captação de links de redirecionamento (WhatsApp APIs) e expressões regulares rigorosas na árvore do HTML (Telefones comerciais).
Tudo isso encapsulado sobre uma interface gráfica rica e responsiva, operando sem o clássico problema de travamento de janela graças à manipulação "Thread-safe" da UI. O executável também conta com Atualização Automática transparente via GitHub Releases.
O código foi inteiramente refatorado respeitando o SoC (Separation of Concerns) — permitindo sustentabilidade a longo prazo:
📦 Phone-Receiver
┣ 📂 src/
┃ ┣ 📂 services/
┃ ┃ ┣ 📜 ai_service.py # Camada LLM: Conexão Groq, Prompts Inteligentes e Parsing de JSON
┃ ┃ ┣ 📜 scraper_service.py # Camada Web: Requisições (requests), Análise DOM (bs4) e Regex
┃ ┃ ┗ 📜 updater_service.py # Camada de Auto-Update: Consome API do GitHub para baixar novas releases
┃ ┗ 📂 ui/
┃ ┗ 📜 app_window.py # Camada de Apresentação: Layout Tkinter seguro, Threads e Callbacks
┣ 📂 tests/ # Suíte de testes automatizados unitários (Pytest)
┣ 📜 main.py # Application Entrypoint (Iniciador limpo)
┣ 📜 requirements.txt # Gerenciamento de dependências com travas de versão estável
┗ 📜 README.md # Documentação corporativa do sistema
- Python 3.13+
- Tkinter/TTK (Interface Nativa Padrão OS)
- Groq API (
groqSDK oficial para inferência ultrarrápida do modelollama-3.1-8b-instant) - Keyring (Armazenamento seguro de chaves usando o cofre de credenciais nativo do OS)
- BeautifulSoup4 & Requests (Análise sintática do DOM e HTTP Client)
- PyInstaller & GitHub Actions (Pipeline CI/CD completo para builds multiplataforma Windows/macOS/Linux)
- Pytest (Testes unitários e mocks rigorosos)
git clone https://github.com/schulzdimitri/LeadFinder.git
cd LeadFinderVisando separar as dependências do Host OS, utilize o módulo venv ou uv:
python3 -m venv .venv
source .venv/bin/activate # Para uso no Linux e macOS
# .venv\Scripts\activate # Para uso no Microsoft Windowspip install -r requirements.txtpython3 main.pyPYTHONPATH=. pytest tests/ -vVocê precisará de uma Chave API da Groq para validar as consultas de infraestrutura do provedor LLM.
- Crie uma conta de desenvolvedor no Groq Console
- Acesse a aba API Keys e clique em Create API Key.
- Copie o valor numérico longo (obrigatoriamente começando com a sintaxe
gsk_...). - Rode a aplicação e cole a chave no campo designado. A chave será salva criptografada usando o Cofre Seguro do seu Sistema Operacional (Keyring). Das próximas vezes que o app abrir, ele lembrará a chave de forma segura!
A partir da versão v1.0.0+, o software é distribuído com sistema de atualização contínua.
Ao abrir o app, a interface roda uma thread que se comunica com o GitHub para verificar a existência de novas Tags. Se aprovado pelo usuário, ele baixa e substitui os binários sem dor de cabeça — seja num .exe executável no Windows ou pacote .app no macOS!
Error code: 401 - Invalid API Key: Certifique-se de que não faltam caracteres na sua chave recém copiada. Chaves que recém foram criadas podem levar alguns segundos extras para serem processadas globalmente pelos servidores Groq.Erro de Threads - macOS: A aplicação já foi corrigida a nível do Tkinter (self.after()) mitigando bugs clássicos onde a Thread secundária tentava manipular visualmente o layout primário.
Este repositório tem escopo educacional e corporativo. Técnicas de Web Scraping operam navegando sites aleatoriamente de forma não interativa. Todas as extrações devem obedecer à lei de proteção de dados regional em vigor (LGPD/GDPR), resguardar direitos privados dos desenvolvedores dos e-commerce investigados e respeitar as sinalizações e políticas descritas no robots.txt de domínio de terceiros.