36 puntos por xguru 2025-03-13 | 3 comentarios | Compartir por WhatsApp
  • Scraping de video: ingresar un video de captura de pantalla al modelo Google Gemini y convertirlo en datos estructurados
  • Uso de modelos de imagen: usar Gemini, GPT-4o, Claude 3.7 y otros para extraer datos de imágenes y PDFs no estructurados
  • Aprovechar bibliotecas modernas como Playwright: realizar automatización del navegador. Usarlas integradas con modelos de análisis de video/imagen
  • Un workshop interactivo de 1 hora impartido por Simon Willison en NICAR 2025, la conferencia de periodismo de datos

Estructura del workshop

1. Git scraping

  • ¿Qué es Git scraper?
    • Permite hacer scraping periódico de sitios web o recursos usando GitHub Actions y registrar los cambios
    • Se puede configurar fácilmente clonando desde el repositorio plantilla en GitHub
    • Si ingresas la URL de un sitio web específico o la URL de un archivo JSON, se ejecuta automáticamente todos los días
  • Si agregas .atom a la URL de la página de commits del repositorio, puedes generar un feed RSS
    • Permite revisar en tiempo real los cambios del sitio web a través de un lector RSS

2. Scraping con JavaScript dentro del navegador

  • En sitios web complejos, extraer datos solo con parsing de HTML puede ser difícil
  • Es posible hacer scraping después de que la página cargue en un navegador real usando JavaScript
  • Extracción de datos de tablas: se pueden convertir datos tabulares a JSON usando JavaScript en las herramientas de desarrollador del navegador
  • Manejo de páginas con scroll infinito: con JavaScript se puede recolectar automáticamente contenido que se sigue agregando en la página
  • Automatización con shot-scraper:
    • Es posible capturar screenshots de páginas web completas mediante comandos específicos
    • Se puede ejecutar código JavaScript y luego exportar los datos en formato JSON

3. Extracción de datos estructurados con LLM

  • Se pueden usar LLM (Large Language Model) para convertir datos no estructurados en datos estructurados
  • Se requieren claves API de OpenAI y Google Gemini
  • Se puede ejecutar en Codespaces o en un entorno local de Python
  • Extracción de datos mediante esquemas
    • Un esquema (schema) define el formato de los datos que devolverá el LLM
    • Por ejemplo, se pueden definir en el esquema el título, la URL, la fecha, etc., para extraer datos en un formato consistente
    • Al hacer scraping de una página web, la salida puede basarse en el esquema
  • Cálculo de costos y selección de modelos
    • Cada modelo genera costos según la cantidad de tokens de entrada y salida
    • El modelo GPT-4o mini es barato, pero otros modelos pueden resultar costosos
    • Por ejemplo, el modelo GPT-4.5 puede costar mucho más para la misma tarea
    • Los modelos Gemini son relativamente económicos y ofrecen varias opciones
  • Extracción de datos desde PDFs
    • Es posible extraer datos de documentos PDF como FEMA Daily Operations Briefing
    • El modelo Gemini puede recibir archivos PDF como entrada y devolver salida estructurada en formato JSON
    • Se pueden extraer tablas o texto específicos del PDF
  • Extracción de datos desde imágenes
    • GPT-4o puede extraer datos desde imágenes
    • Se puede ingresar una captura de pantalla al modelo y obtener datos estructurados como salida
  • Consejos para elegir modelo
    • El modelo Gemini 2.0 Pro es gratuito, pero tiene límites de velocidad estrictos
    • Hay que probar y elegir varios modelos considerando eficiencia de costo y rendimiento
    • Dependiendo de las características de la página web, shot-scraper puede ser más útil que un LLM
  • Desafíos del procesamiento de datos complejos
    • Al extraer datos de infografías o mapas complejos, el rendimiento puede variar según el modelo
    • Es necesario probar varios modelos y elegir el que ofrezca el mejor desempeño

4. Scraping de video con Google AI Studio

  • El scraping de video es un método potente para extraer datos de sitios web donde el scraping convencional es difícil
  • El modelo Google Gemini puede recibir video como entrada y convertirlo en datos estructurados en formato JSON
  • Después de grabar la pantalla, se puede ingresar ese video al modelo de IA para extraer datos
  • Proceso de scraping de video
    1. Ir a la sección del sitio web que contiene los datos deseados
    2. Ejecutar una herramienta de grabación de pantalla (por ejemplo, QuickTime Player)
    3. Navegar por el sitio web → pausar brevemente en las partes importantes
    4. Subir el video grabado a Google AI Studio
    5. Escribir el prompt del modelo en AI Studio y extraer los datos
    6. Se puede usar la herramienta de extracción por esquema para estructurar los datos en formato JSON
  • Ventajas del scraping de video
    • Permite saltarse estructuras complejas de sitios web
    • Es útil en sitios que requieren renderizado con JavaScript
    • Permite extraer distintos tipos de datos dentro de la página (texto, tablas, imágenes, etc.)
  • Precauciones
    • La mayoría de las funciones ofrecidas en AI Studio son gratuitas, pero los datos ingresados podrían usarse para entrenamiento
    • Conviene no ingresar datos sensibles o de alta importancia en materia de seguridad
    • En sitios web complejos, el scraping de video puede ser más eficiente que otras técnicas de scraping
  • Opción de streaming en tiempo real
    • Con la opción Stream Realtime de AI Studio, es posible extraer datos en tiempo real
    • Puede ser eficaz incluso con contenido dinámico difícil de scrapear
  • Aplicación en la sala de redacción
    • Es útil para extracción de datos complejos y automatización en medios de comunicación
    • Se puede probar el rendimiento y la precisión de los modelos Gemini para encontrar el mejor enfoque
    • También es posible colaborar y dar retroalimentación después del workshop

Herramientas y recursos adicionales

  • git-scraper-template – Plantilla de configuración para Git scraping
  • shot-scraper-template – Plantilla de automatización de screenshots de páginas web
  • shot-scraper har - Genera archivos HAR. Con --zip también crea un archivo comprimido (incluye JSON y otros assets)
  • git-history – Convierte el historial de commits de Git en una base de datos SQLite

3 comentarios

 
roxie 2025-03-16

Mmm... usar GitHub Actions probablemente violaría las políticas de GitHub.

 
lighteach 2025-03-14

Ojalá también hubiera una versión para Android.

 
wantutopia 2025-03-13

Si incorpora funciones para evadir la prevención contra macros... creo que sería el ganador del mercado.