36 pontos por xguru 2025-03-13 | 3 comentários | Compartilhar no WhatsApp
  • 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
    1. Ir até a seção do site que contém os dados desejados
    2. Abrir uma ferramenta de gravação de tela, como o QuickTime Player
    3. Navegar pelo site → pausar brevemente nas partes importantes
    4. Enviar o vídeo gravado para o Google AI Studio
    5. Escrever o prompt do modelo no AI Studio e extrair os dados
    6. 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

 
roxie 2025-03-16

Hmm... usar o GitHub Actions parece ser uma violação das políticas do GitHub.

 
lighteach 2025-03-14

Seria ótimo se também houvesse uma versão para Android

 
wantutopia 2025-03-13

Se tiver recursos para contornar proteções anti-bot... acho que vai se tornar o vencedor do mercado.