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égorieOutils
LangagePython 3.x
Scraping statiquerequests, BeautifulSoup4, lxml
Scraping dynamiqueSelenium, Playwright
Framework proScrapy
Donnéespandas, SQLite, PostgreSQL
Anti-détectionproxies, fake-useragent, 2Captcha
Déploiementcron, Airflow, AWS, Heroku
No-codeOctoparse, 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