La collecte automatisée de données web est un levier stratégique pour la veille concurrentielle, l’analyse de marché et l’alimentation de pipelines data. Cette formation couvre l’ensemble du spectre du web scraping en Python, des outils simples comme BeautifulSoup aux frameworks complets comme Scrapy, en passant par Selenium pour les sites dynamiques. Vous apprendrez aussi à gérer les aspects techniques avancés : parallélisation, authentification et CAPTCHAs.
Public visé
Développeurs, Data Scientists, Data Analysts, Data Engineers, chefs de projets.
Prérequis
Avoir suivi cette formation, ou en maîtriser les thèmes abordés :
Objectifs pédagogiques
À l’issue de cette formation, vous serez capable de :
- Décrire le fonctionnement des Web scrapers
- Développer un Web scraper avec fonctionnalités avancées
- Activer des architectures multi-thread pour le scraping
Programme
Jour 1
Les fondamentaux du Web scraping
- comprendre les bases du web
- modèle en 7 couches
- HTML, CSS, JavaScript
- outils développeur du navigateur
- identifier les aspects réglementaires et éthiques
- marques déposées et copyrights
- brevets
- conditions d’utilisation des sites
- situer les applications du web scraping — veille, entraînement d’IA, recherche académique
- structurer un projet de web scraping
Travaux pratiques :
- Création d’un premier web scraper avec Jupyter et la librairie BeautifulSoup
Analyse HTML avancée
- manipuler les objets BeautifulSoup
- naviguer dans les structures arborescentes HTML
- extraire des éléments avec précision
- expressions régulières
- accès aux attributs
- expressions lambda
- gérer différentes mises en page de sites
- structurer des crawlers
- à base de recherche
- à base de liens
- par type de page
Travaux pratiques :
- Développement d’un web crawler mono-domaine ou multi-domaine
Introduction à Scrapy
- construire un scraper Scrapy
- exemple de scraper minimal
- utilisation des règles
- modéliser les données extraites
- création d’items
- items d’output
- orchestrer le traitement avec les pipelines d’items
- gérer les logs de Scrapy
Travaux pratiques :
- Création d’un web scraper avec Scrapy
Jour 2
Scraping avancé
- extraire du texte depuis des formats variés — txt, CSV, PDF, MS Word
- nettoyer et normaliser du texte avec Pandas
- analyser du langage naturel avec NLTK
- lecture et résumé
- analyse statistique et lexicographique
Travaux pratiques :
- Création d’un web scraper avancé capable de traiter le langage naturel
Crawling à travers des formulaires et interfaces de login
- utiliser la librairie Requests pour dialoguer en HTTP
- soumettre des formulaires
- boutons radio et cases à cocher
- autres inputs
- envoi de fichiers et images
- gérer logins et cookies persistants
Travaux pratiques :
- Amélioration du web scraper avec gestion des formulaires et logins
Scraping sur du code JavaScript
- comprendre JavaScript, Ajax et le HTML dynamique
- exécuter des scripts JavaScript depuis Python avec Selenium
- choisir un WebDriver Selenium adapté
- gérer les redirections
Jour 3
Scraping sur des API
- rappeler les principes des API web
- parser du JSON
- documenter une API non-documentée
Gérer les CAPTCHA avec la reconnaissance d’images et de texte
- utiliser les librairies de traitement d’images — Pillow, Tesseract, NumPy
- reconnaître images et texte sur un CAPTCHA
- entraîner Tesseract pour la lecture de CAPTCHA spécifiques
Travaux pratiques :
- Amélioration du web scraper avec gestion de CAPTCHA
Parallélisation du Web scraping
- comprendre processus et threads
- paralléliser le crawling
- approche multi-thread
- approche multi-processus
Travaux pratiques :
- Amélioration du web scraper avec gestion de JavaScript et d’API
Modalités d’évaluation des acquis
En cours de formation, par des travaux pratiques. En fin de formation, par un questionnaire d’auto-évaluation.
Voir aussi
Vous serez peut-être intéressés par les formations suivantes :
- Python - Initiation
- Python - Calculs Scientifiques
- Data Science avec Python (Scikit-learn)
- Python pour tests d'intrusion
- Python - Perfectionnement
Formation DEV-PYTHON-310 — Web scraping avec Python. Domaine : Développement. Niveau : Avancé. Durée : 3 jours (21 heures). Mots-clés : python, web-scraping, beautifulsoup, scrapy, selenium, data. Cylian Formation, Dijon.