36 points par xguru 2025-03-13 | 3 commentaires | Partager sur WhatsApp
  • Scraping vidéo : conversion d’une capture vidéo d’écran en données structurées en l’envoyant à un modèle Google Gemini
  • Utilisation de modèles d’image : extraction de données depuis des images et des PDF non structurés avec Gemini, GPT-4o, Claude 3.7, etc.
  • Utilisation de bibliothèques modernes comme Playwright : automatisation du navigateur, avec intégration de modèles d’analyse vidéo/image
  • Atelier interactif d’une heure animé par Simon Willison lors de la conférence de journalisme de données NICAR 2025

Structure de l’atelier

1. Git scraping

  • Qu’est-ce qu’un Git scraper ?
    • Il permet de scraper régulièrement un site web ou une ressource via GitHub Actions et d’en enregistrer les changements
    • Il peut être configuré facilement en clonant un dépôt modèle depuis un dépôt GitHub
    • Il suffit d’indiquer l’URL d’un site web ou d’un fichier JSON pour une exécution automatique quotidienne
  • En ajoutant .atom à l’URL de la page des commits d’un dépôt, il est possible de générer un flux RSS
    • Cela permet de suivre en temps réel les changements d’un site web via un lecteur RSS

2. Scraping JavaScript dans le navigateur

  • Pour les sites web complexes, extraire des données par simple parsing HTML est souvent difficile
  • Il est possible de scraper après chargement de la page dans un vrai navigateur en utilisant JavaScript
  • Extraction de données de tableaux : les outils de développement du navigateur permettent de convertir les données d’un tableau en JSON avec JavaScript
  • Gestion des pages à défilement infini : JavaScript permet de collecter automatiquement le contenu qui continue à s’ajouter à la page
  • Automatisation avec shot-scraper :
    • Une commande spécifique permet de capturer une capture d’écran de la page web entière
    • Après exécution de code JavaScript, les données peuvent être exportées au format JSON

3. Extraction de données structurées avec les LLM

  • Les LLM (Large Language Models) permettent de transformer des données non structurées en données structurées
  • Une clé API OpenAI ou Google Gemini est nécessaire
  • L’exécution est possible dans Codespaces ou dans un environnement Python local
  • Extraction de données à l’aide d’un schéma
    • Un schéma (schema) définit le format des données que le LLM doit renvoyer
    • Par exemple, on peut y définir un titre, une URL, une date, etc., afin d’obtenir des données dans un format cohérent
    • Lors du scraping d’une page web, la sortie peut ainsi être basée sur un schéma
  • Calcul des coûts et choix du modèle
    • Chaque modèle entraîne des coûts selon le nombre de tokens en entrée et en sortie
    • Le modèle GPT-4o mini est peu coûteux, mais d’autres modèles peuvent être chers
    • Par exemple, le modèle GPT-4.5 peut coûter beaucoup plus pour une même tâche
    • Les modèles Gemini sont relativement économiques et offrent diverses options
  • Extraction de données depuis des PDF
    • Il est possible d’extraire des données de documents PDF comme le FEMA Daily Operations Briefing
    • Les modèles Gemini peuvent prendre un fichier PDF en entrée et produire une sortie structurée au format JSON
    • Ils permettent aussi d’extraire des tableaux ou du texte spécifiques dans un PDF
  • Extraction de données depuis des images
    • GPT-4o peut extraire des données à partir d’images
    • Il est possible de fournir une capture d’écran au modèle pour obtenir une sortie structurée
  • Conseils pour choisir un modèle
    • Le modèle Gemini 2.0 Pro est gratuit, mais soumis à des limitations de débit strictes
    • Il faut tester plusieurs modèles en tenant compte du coût et des performances
    • Selon les caractéristiques de la page web, shot-scraper peut s’avérer plus utile qu’un LLM
  • Défis du traitement de données complexes
    • Pour extraire des données depuis des infographies complexes ou des cartes, les performances peuvent varier selon le modèle
    • Il est nécessaire d’essayer différents modèles afin de choisir celui qui offre les meilleurs résultats

4. Scraping vidéo avec Google AI Studio

  • Le scraping vidéo est une méthode puissante pour extraire des données de sites web difficiles à scraper par des moyens classiques
  • Les modèles Google Gemini peuvent prendre une vidéo en entrée et la convertir en données structurées au format JSON
  • Après enregistrement de l’écran, il est possible d’envoyer la vidéo au modèle d’IA pour en extraire des données
  • Processus de scraping vidéo
    1. Aller à la section du site web contenant les données souhaitées
    2. Lancer un outil d’enregistrement d’écran (par exemple QuickTime Player)
    3. Naviguer sur le site web → faire une pause sur les éléments importants
    4. Importer la vidéo enregistrée dans Google AI Studio
    5. Rédiger un prompt pour le modèle dans AI Studio, puis extraire les données
    6. Utiliser l’outil d’extraction par schéma pour structurer les données au format JSON
  • Avantages du scraping vidéo
    • Il permet de contourner des structures de site web complexes
    • Il est utile pour les sites nécessitant un rendu JavaScript
    • Il permet d’extraire différents types de données dans une page, comme du texte, des tableaux ou des images
  • Points d’attention
    • La plupart des fonctions proposées par AI Studio sont gratuites, mais les données envoyées peuvent être utilisées pour l’entraînement
    • Il vaut mieux ne pas y envoyer de données sensibles
    • Pour les sites web complexes, le scraping vidéo peut être plus efficace que d’autres techniques de scraping
  • Option de streaming en temps réel
    • L’option Stream Realtime d’AI Studio permet d’extraire des données en temps réel
    • Elle peut aussi être efficace pour des contenus dynamiques difficiles à scraper
  • Application dans les rédactions
    • Ces techniques sont utiles aux rédactions pour l’extraction de données complexes et l’automatisation
    • Il est possible de tester les performances et la précision des modèles Gemini pour déterminer l’approche optimale
    • La collaboration et les retours restent possibles après l’atelier

Outils et ressources supplémentaires

  • git-scraper-template – Modèle de configuration pour le Git scraping
  • shot-scraper-template – Modèle d’automatisation de captures d’écran de pages web
  • shot-scraper har - Génération d’archives HTML. --zip permet aussi de créer un fichier compressé (incluant JSON et autres assets)
  • git-history – Conversion de l’historique des commits Git en base de données SQLite

3 commentaires

 
roxie 2025-03-16

Hum… utiliser GitHub Actions semble probablement être une violation de la politique de GitHub.

 
lighteach 2025-03-14

Ce serait vraiment bien s’il y en avait aussi pour Android.

 
wantutopia 2025-03-13

S’il est doté de fonctionnalités pour contourner les protections anti-bot, il pourrait bien devenir le gagnant du marché.