- 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
- Ir a la sección del sitio web que contiene los datos deseados
- Ejecutar una herramienta de grabación de pantalla (por ejemplo, QuickTime Player)
- Navegar por el sitio web → pausar brevemente en las partes importantes
- Subir el video grabado a Google AI Studio
- Escribir el prompt del modelo en AI Studio y extraer los datos
- 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
Mmm... usar GitHub Actions probablemente violaría las políticas de GitHub.
Ojalá también hubiera una versión para Android.
Si incorpora funciones para evadir la prevención contra macros... creo que sería el ganador del mercado.