Voici un programme de formation complet sur le Web Scraping :
🕷️ Programme de Formation — Web Scraping
Durée totale : 5 jours (40 heures) Niveau : Débutant à avancé Format : Présentiel ou distanciel
🎯 Objectifs pédagogiques
À l’issue de cette formation, les participants seront capables de :
- Comprendre le fonctionnement du web et des pages HTML
- Extraire des données depuis des sites web statiques et dynamiques
- Contourner les protections anti-scraping de manière éthique et légale
- Nettoyer, structurer et stocker les données collectées
- Déployer un scraper automatisé en production
📅 Jour 1 — Fondamentaux du Web & HTML (8h)
Matin (4h)
- Comment fonctionne le web : HTTP, requêtes GET/POST, codes de réponse
- Structure d’une page HTML : balises, attributs, DOM
- CSS : sélecteurs, classes, identifiants
- Inspecter une page web : DevTools du navigateur
- Introduction au XPath et aux sélecteurs CSS
Après-midi (4h)
- Introduction à Python pour le scraping
- La bibliothèque
requests: envoyer des requêtes HTTP - Lire et analyser une réponse HTML
- Gérer les headers, cookies et sessions
- Atelier : récupérer le contenu brut d’une page web
📅 Jour 2 — BeautifulSoup & Scraping Statique (8h)
Matin (4h)
- Introduction à
BeautifulSoup4 - Parser le HTML :
find(),find_all(),select() - Extraire du texte, des liens, des attributs
- Naviguer dans l’arbre DOM
- Gérer les encodages et caractères spéciaux
Après-midi (4h)
- Scraper plusieurs pages : pagination et boucles
- Suivre des liens automatiquement
- Télécharger des images et fichiers
- Structurer les données extraites en DataFrame avec
pandas - Atelier : scraper un site de produits (prix, noms, descriptions)
📅 Jour 3 — Scraping Dynamique avec Selenium & Playwright (8h)
Matin (4h)
- Pourquoi BeautifulSoup ne suffit pas toujours ?
- Introduction à Selenium : installation, WebDriver, navigateurs
- Localiser des éléments :
find_element,By.CSS_SELECTOR,By.XPATH - Interagir avec la page : cliquer, remplir des formulaires, scroller
- Attentes explicites et implicites (
WebDriverWait)
Après-midi (4h)
- Introduction à
Playwright(alternative moderne à Selenium) - Scraper du contenu chargé en JavaScript (SPA, React, Vue)
- Intercepter les requêtes réseau (XHR/Fetch) pour récupérer les APIs cachées
- Gérer les fenêtres popup, iframes et onglets
- Atelier : scraper un site avec chargement dynamique (réseau social, e-commerce)
📅 Jour 4 — Anti-Scraping & Techniques Avancées (8h)
Matin (4h)
- Les protections anti-scraping : CAPTCHA, rate limiting, IP blocking, fingerprinting
- Gérer les délais et les rotations de requêtes (
time.sleep,random) - Rotation de User-Agents et headers
- Utilisation de proxies : proxies gratuits vs payants
- Résoudre les CAPTCHAs : services tiers (2Captcha, Anti-Captcha)
Après-midi (4h)
- Introduction à
Scrapy: framework professionnel de scraping - Architecture d’un projet Scrapy : spiders, pipelines, middlewares
- Scrapy + Splash pour le contenu dynamique
- Scraping d’APIs non documentées (reverse engineering)
- Atelier : construire un spider Scrapy complet avec pipeline de données
📅 Jour 5 — Stockage, Éthique & Projet Final (8h)
Matin (4h)
- Stocker les données : CSV, JSON, Excel, base de données SQLite / PostgreSQL
- Planifier et automatiser le scraper (cron, Airflow)
- Déployer un scraper sur le cloud (AWS, GCP, Heroku, VPS)
- Monitoring et alertes : détecter les changements de structure du site
- Éthique et légalité du scraping :
robots.txt, CGU, RGPD
Après-midi (4h)
- Cas d’usage métiers : veille concurrentielle, immobilier, emploi, finance
- Introduction au scraping avec l’IA : utiliser LLMs pour parser du contenu non structuré
- Outils no-code de scraping : Octoparse, Apify, ParseHub
- Projet final : chaque participant conçoit un scraper complet de A à Z
- Présentation, revue de code et bilan
🛠️ Outils & Technologies couverts
| Catégorie | Outils |
|---|---|
| Langage | Python 3.x |
| Scraping statique | requests, BeautifulSoup4, lxml |
| Scraping dynamique | Selenium, Playwright |
| Framework pro | Scrapy |
| Données | pandas, SQLite, PostgreSQL |
| Anti-détection | proxies, fake-useragent, 2Captcha |
| Déploiement | cron, Airflow, AWS, Heroku |
| No-code | Octoparse, Apify, ParseHub |
📋 Prérequis
- Bases de Python (variables, boucles, fonctions)
- Notions HTML/CSS recommandées
- Curiosité pour la collecte et l’analyse de données
📊 Évaluation
- Exercices pratiques quotidiens
- Mini-projet scraper à rendre chaque soir
- Projet final présenté le dernier jour
- Attestation de formation délivrée à l’issue