Web Scraping He4rt Developers · Início de 2025

Web Scraping com
Selenium WebDriver

Scraper que extrai e estrutura dados públicos da folha de pagamento IPREM 2025 da Prefeitura de São Paulo — construído do zero em três dias para um desafio técnico da comunidade He4rt Developers.

Selenium WebDriver Python Pandas Docker XPath CSS Selectors ETL Dados Públicos SlickGrid

Contexto e Desafio

🏆 Desafio He4rt Developers

No início de 2025, participei de um desafio técnico promovido pela He4rt Developers, uma das maiores comunidades de tecnologia do Brasil. O objetivo era construir um web scraper com Selenium WebDriver para extrair dados públicos do Portal da Transparência de uma prefeitura brasileira.

Eu nunca havia trabalhado com Selenium antes. Em poucos dias, aprendi a automatizar navegação em um site governamental, extrair uma tabela dinâmica e entregar um dataset limpo e documentado — avaliado por organização, boas práticas e uso de Docker.

Requisitos Técnicos

  • 1
    Selenium WebDriver obrigatório — linguagem livre, escolhi Python.
  • 2
    Extrair dados de pelo menos uma tabela com múltiplas linhas e colunas.
  • 3
    Limpeza e transformação dos dados: padronização e tratamento de inconsistências.
  • 4
    Salvar resultado final em CSV estruturado.
  • Bônus: Docker, scroll/paginação e padrão ETL no código.

O Desafio Técnico Real

A escolha foi extrair a folha de pagamento IPREM 2025 da Prefeitura de São Paulo. O principal obstáculo: a tabela era uma SlickGrid dinâmica renderizada dentro de um iframe com carregamento lento e assíncrono.

Identificar elementos dentro de iframe com carregamento assíncrono exigiu esperas explícitas, scroll progressivo e seletores via XPath — habilidades aprendidas completamente do zero durante o projeto.

O código foi modularizado em funções separadas seguindo o padrão Extract, Transform e Load, com Docker usando a imagem selenium/standalone-chrome para total reprodutibilidade.

Amostra dos Dados Extraídos

nome MARIA LENALDA DOS SANTOS SILVA cargo CHEFE DE EQUIPE I lotacao SEC MUN SAUDE total_remuneracao R$ 20.615,89 --- colunas_totais 12 validacao limpeza + deduplicação aplicadas

Aprendizados e Competências

Este projeto comprovou que sou capaz de aprender uma tecnologia do zero em três dias combinando documentação oficial, comunidade e experimentação prática. Competências consolidadas: web scraping com Selenium (seletores CSS/XPath, iframes, scroll dinâmico, esperas explícitas), Docker para automação, e tratamento avançado de dados com Pandas.

Ver o projeto completo

Repositório público com documentação, capturas de tela e histórico de commits.

Ver no GitHub → ← Outros projetos