- Scraping de vídeo: capturar a tela em vídeo e enviar ao modelo Google Gemini para converter em dados estruturados
- Uso de modelos de imagem: usar Gemini, GPT-4o, Claude 3.7 etc. para extrair dados de imagens e PDFs não estruturados
- Uso de bibliotecas modernas como Playwright: executar automação de navegador e integrar com modelos de análise de vídeo/imagem
- Workshop interativo de 1 hora conduzido por Simon Willison na conferência de jornalismo de dados NICAR 2025
Estrutura do workshop
1. Git scraping
- O que é um Git scraper?
- Usa GitHub Actions para fazer scraping periódico de sites ou recursos e registrar mudanças
- Pode ser configurado facilmente ao clonar um repositório a partir de um repo de template no GitHub
- Ao informar a URL de um site específico ou de um arquivo JSON, ele roda automaticamente todos os dias
- Ao adicionar
.atom à URL da página de commits do repositório, é possível gerar um feed RSS
- Dá para acompanhar em tempo real as mudanças do site por um leitor de RSS
2. Scraping com JavaScript no navegador
- Em sites complexos, é difícil extrair dados apenas com parsing simples de HTML
- É possível fazer scraping usando JavaScript depois que a página carrega em um navegador real
- Extração de dados de tabelas: com JavaScript nas ferramentas de desenvolvedor do navegador, é possível converter dados de tabelas em JSON
- Tratamento de páginas com rolagem infinita: com JavaScript, é possível coletar automaticamente conteúdo que continua sendo adicionado à página
- Automação com shot-scraper:
- É possível capturar screenshots de páginas inteiras com comandos específicos
- Também é possível executar código JavaScript e gerar dados em formato JSON
3. Extração de dados estruturados com LLM
- Com LLMs (Large Language Models), é possível transformar dados não estruturados em dados estruturados
- É necessário ter chaves de API da OpenAI e do Google Gemini
- Pode ser executado em Codespaces ou em um ambiente local de Python
- Extração de dados com schema
- Schema é a definição do formato dos dados que o LLM deve retornar
- Por exemplo, é possível definir no schema campos como título, URL e data para extrair dados em formato consistente
- Ao fazer scraping de páginas, a saída pode ser baseada nesse schema
- Cálculo de custo e escolha de modelo
- Cada modelo gera custos conforme a quantidade de tokens de entrada e saída
- O modelo GPT-4o mini é barato, mas outros modelos podem ser caros
- Por exemplo, o GPT-4.5 pode gerar um custo muito maior para a mesma tarefa
- Os modelos Gemini são relativamente baratos e oferecem várias opções
- Extração de dados de PDF
- É possível extrair dados de documentos PDF como o FEMA Daily Operations Briefing
- O modelo Gemini pode receber um arquivo PDF como entrada e gerar saída estruturada em JSON
- Também é possível extrair tabelas ou trechos de texto específicos do PDF
- Extração de dados de imagens
- O GPT-4o pode extrair dados de imagens
- É possível enviar screenshots ao modelo e obter saída estruturada
- Dicas para escolher o modelo
- O modelo Gemini 2.0 Pro é gratuito, mas tem limites de velocidade rígidos
- É preciso testar e escolher diferentes modelos considerando custo-benefício e desempenho
- Dependendo das características da página, o shot-scraper pode ser mais útil do que um LLM
- Desafios no tratamento de dados complexos
- Em infográficos ou mapas complexos, o desempenho pode variar entre modelos
- É necessário testar vários modelos para escolher o que apresenta o melhor resultado
4. Scraping de vídeo com Google AI Studio
- Scraping de vídeo é uma forma poderosa de extrair dados de sites em que o scraping tradicional é difícil
- O modelo Google Gemini pode receber vídeo como entrada e convertê-lo em dados estruturados em JSON
- É possível gravar a tela e enviar esse vídeo a um modelo de IA para extrair dados
- Processo de scraping de vídeo
- Ir até a seção do site que contém os dados desejados
- Abrir uma ferramenta de gravação de tela, como o QuickTime Player
- Navegar pelo site → pausar brevemente nas partes importantes
- Enviar o vídeo gravado para o Google AI Studio
- Escrever o prompt do modelo no AI Studio e extrair os dados
- Também é possível usar a ferramenta de extração por schema para estruturar os dados em JSON
- Vantagens do scraping de vídeo
- Permite contornar estruturas complexas de sites
- É útil em sites que exigem renderização em JavaScript
- Permite extrair vários tipos de dados da página, como texto, tabelas e imagens
- Pontos de atenção
- A maioria dos recursos do AI Studio é gratuita, mas os dados enviados podem ser usados em treinamento
- É melhor não enviar dados sensíveis ou críticos para segurança
- Em sites complexos, o scraping de vídeo pode ser mais eficiente do que outras técnicas
- Opção de streaming em tempo real
- Com a opção Stream Realtime do AI Studio, é possível extrair dados em tempo real
- Isso também pode ser eficaz em conteúdos dinâmicos difíceis de raspar
- Aplicação em redações
- É útil para extração de dados complexos e automação em redações
- Dá para testar o desempenho e a precisão dos modelos Gemini para encontrar a melhor abordagem
- Também é possível colaborar e trocar feedback depois do workshop
Ferramentas e materiais adicionais
- git-scraper-template – Template de configuração para Git scraping
- shot-scraper-template – Template para automação de screenshots de páginas web
- shot-scraper har - Gera arquivo de arquivamento HTML. Com
--zip, também gera arquivo compactado (incluindo JSON e outros assets)
- git-history – Converte logs de commits do Git em um banco de dados SQLite
3 comentários
Hmm... usar o GitHub Actions parece ser uma violação das políticas do GitHub.
Seria ótimo se também houvesse uma versão para Android
Se tiver recursos para contornar proteções anti-bot... acho que vai se tornar o vencedor do mercado.