Description
Cette formation permet aux développeurs et data engineers de maîtriser les techniques modernes de web scraping avec Python afin de collecter et exploiter des données issues du web.
Les participants apprennent à analyser la structure des pages web, à envoyer des requêtes HTTP, à parser du HTML avec BeautifulSoup et lxml, à automatiser la navigation sur des sites dynamiques avec Selenium ou Playwright, et à construire des crawlers évolutifs avec Scrapy.
La formation aborde également la gestion des problématiques réelles rencontrées dans les projets de scraping : pagination, JavaScript dynamique, limitation des requêtes, gestion des erreurs, structuration et stockage des données collectées.
Objectifs
- Collecter automatiquement des données sur des sites web
- Maîtriser les bibliothèques Python de web scraping
- Construire des crawlers robustes et évolutifs
- Structurer et exploiter les données collectées
Récapitulatif
Public
Développeurs Python
Data engineers
Data analysts
Ingénieurs logiciels
Prérequis
Bonne connaissance du langage Python
Connaissances de base du fonctionnement du web
Méthodes et modalités pédagogiques
Formation réalisée en Présentiel, Distanciel ou Dual-Learning selon la formule retenue.
Moyens et supports pédagogiques
Mise à disposition d’un poste de travail sur nos formations en Présentiel.
Mise à disposition de nos environnements de visio sur nos formations en Distanciel
Remise d’une documentation pédagogique numérique pendant la formation
La formation est constituée d’apports théoriques, d’exercices pratiques et de réflexions
Dans le cas d’une formation sur site Entreprise, le client s’engage à avoir toutes les ressources pédagogiques nécessaires (salle, équipements, accès internet, TV ou Paperboard…) au bon déroulement de l’action de formation conformément aux prérequis indiqués dans le programme de formation
Modalités de suivi et d'évaluations
Auto-positionnement des stagiaires avant la formation
Émargement des stagiaires et formateur par 1/2 journée
Exercices de mise en pratique ou quiz de connaissances tout au long de la formation permettant de mesurer la progression des stagiaires
Auto-évaluation des acquis de la formation par les stagiaires
Questionnaire de satisfaction à chaud et à froid à l’issue de la formation
Programme détaillé
Comprendre l’architecture du web et les mécanismes du scraping
- Comprendre le fonctionnement des requêtes HTTP / HTTPS
- Analyser les échanges réseau à l’aide des outils développeur du navigateur
- Comprendre la structure HTML, DOM, CSS et JavaScript
- Identifier les données exploitables dans une page web
- Travaux pratiques : Analyse technique de plusieurs sites web et identification des sources de données exploitables
Collecter des pages web avec Python et la bibliothèque requests
- Envoyer des requêtes HTTP avec la bibliothèque requests
- Manipuler les paramètres d’URL et les requêtes GET et POST
- Gérer les en-têtes HTTP, cookies et sessions
- Simuler le comportement d’un navigateur
- Travaux pratiques : Création d’un script Python permettant de récupérer des pages web et d’analyser les réponses HTTP
Parser le HTML avec BeautifulSoup et lxml
- Analyser la structure DOM d’une page web
- Parser les pages HTML avec BeautifulSoup
- Utiliser lxml pour effectuer des extractions rapides et performantes
- Utiliser des sélecteurs CSS et XPath pour cibler les éléments
- Extraire des données structurées à partir de pages web
- Travaux pratiques : Extraction automatisée d’informations depuis plusieurs pages d’un site web avec BeautifulSoup et XPath
Construire un crawler pour parcourir un site web
- Comprendre les stratégies de navigation automatisée
- Explorer les liens internes d’un site web
- Gérer la pagination et les pages de résultats
- Mettre en place un crawler simple en Python
- Travaux pratiques : Développement d’un crawler permettant d’extraire les informations d’un site multi-pages
Scraper des sites dynamiques avec Selenium et Playwright
- Comprendre le fonctionnement des sites web utilisant JavaScript dynamique
- Automatiser un navigateur avec Selenium
- Contrôler un navigateur headless avec Playwright
- Interagir avec les éléments d’une page web (clics, formulaires, navigation)
- Travaux pratiques : Collecte de données depuis un site web dynamique utilisant JavaScript
Scraping avancé avec le framework Scrapy
- Comprendre l’architecture du framework Scrapy
- Créer un projet Scrapy et structurer un spider
- Gérer la pagination et les files de requêtes
- Mettre en place des pipelines de traitement de données
- Optimiser les performances de collecte
- Travaux pratiques : Création d’un crawler Scrapy permettant d’extraire automatiquement les données d’un site web
Exploiter les API web et les données structurées
- Identifier les API REST utilisées par les sites web
- Interroger les API avec Python
- Parser les réponses JSON
- Intégrer les données issues d’API dans un pipeline de collecte
- Travaux pratiques : Collecte et traitement de données issues d’une API publique
Structurer et exploiter les données collectées
- Nettoyer et transformer les données avec pandas
- Structurer les données sous forme de tableaux exploitables
- Exporter les données vers CSV, JSON ou Excel
- Stocker les données dans une base SQLite ou PostgreSQL
- Travaux pratiques : Construction d’un dataset exploitable à partir des données collectées
Industrialiser un projet de web scraping
- Structurer un projet Python dédié au scraping
- Gérer les erreurs, les interruptions et les reprises de collecte
- Planifier l’exécution des scripts avec cron ou Airflow
- Containeriser un projet de scraping avec Docker
- Travaux pratiques : Mise en place d’un projet complet de scraping automatisé