Objectifs de formation
A l'issue de cette formation, vous serez capable de :
- Décrire le fonctionnement et les applications des Web scrapers
- Développer un Web scraper avec des features avancées (formulaires, login, JavaScript, API)
- Activer le levier des architectures multi-thread et multi-processus pour du scraping à large échelle.
Prérequis
Avoir une expérience en développement, de préférence avec Python.
Validez les prérequis
Afin de vérifier que vous disposez bien des prérequis nécessaires à cette formation, nous vous invitons à réaliser ce test.
Temps estimé : 4 minutes.
Passer le testPublic concerné
Développeurs, Data scientists, Data analysts, ingénieurs Data, intégrateurs, chefs de projets, consultants BI/Big Data.
Programme
Jour 1
Les fondamentaux du Web scraping
- Rappels sur Internet : modèle à sept couches, HTML, CSS, JavaScript, outils du développeur Web
- Aspects réglementaires et éthiques du Web scraping : marques déposées, copyrights, brevets...
- Applications du Web scraping : marketing, ventes, entraînement d'IA, développement de produits, recherche académique...
- Bien démarrer un projet de Web scraping
Exemple de travaux pratiques (à titre indicatif)
- Création d'un premier Web scraper avec Jupyter et la librairie BeautifulSoup
Analyse HTML avancée
- Les objets de BeautifulSoup
- Naviguer à travers des structures arborescentes
- Gérer les expressions régulières
- Accéder à des attributs
- Expressions Lambda
- Gérer différentes mises en page de sites
- Structurer des crawlers : crawlers à base de recherche, à base de liens, par type de page
Exemple de travaux pratiques (à titre indicatif)
- Développement d'un Web crawler mono-domaine ou multi-domaine
Introduction à Scrapy
- Exemple de scraper Scrapy
- Utilisation des règles
- Création d'items
- Items d'output
- Pipeline d'items
- Gestion des logs avec Scrapy
Exemple de travaux pratiques (à titre indicatif)
- Création d'un Web scraper avec Scrapy
Jour 2
Scraping avancé
- Lecture de documents texte, CSV, PDF, MS Word
- Nettoyage de texte avec Pandas
- Travailler avec du texte normalisé
- Lire et résumer du langage naturel avec NLTK
- Analyse statistique et lexicographique avec NLTK
Exemple de travaux pratiques (à titre indicatif)
- Création d'un Web scraper avancé capable de traiter le langage naturel
Crawling à travers des formulaires et interfaces de login
- Présentation de la librairie Requests
- Exemple de soumission d'un formulaire
- Gérer les boutons radio, les cases à cocher, et autres inputs
- Soumission de fichiers et images
- Gérer les logins et cookies
Exemple de travaux pratiques (à titre indicatif)
- Amélioration du Web scraper en lui ajoutant des features liées aux formulaires et logins
Scraping sur du code JavaScript
- Rappels sur JavaScript, Ajax, et le HTML dynamique
- Exécuter des scripts JavaScript dans Python avec Selenium
- Autres Selenium WebDrivers
- Gérer les redirections
Jour 3
Scraping sur des API
- Rappels sur les API
- Parsing de JSON
- Documenter des API non-documentées
Gérer les CAPTCHA avec la reconnaissance d'images et de texte
- Librairies disponibles pour la gestion des CAPTCHA : Pillow, Tissaract, NumPy
- Exemple de reconnaissance d'images et de texte
- Entraînement de Tissaract pour la lecture de CAPTCHA
Exemple de travaux pratiques (à titre indicatif)
- Amélioration du Web scraper en lui ajoutant des features de gestion de CAPTCHA
Parallélisation du Web scraping
- Rappel sur les processus et threads
- Exemple de crawling multi-thread
- Exemple de crawling multi-processus
Exemple de travaux pratiques (à titre indicatif)
- Amélioration du Web scraper en lui ajoutant des features de gestion de code Javascript et d'API
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
Modalités, méthodes et moyens pédagogiques
Formation délivrée en présentiel ou distanciel* (blended-learning, e-learning, classe virtuelle, présentiel à distance).
Le formateur alterne entre méthode** démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).
Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :
- Ordinateurs Mac ou PC (sauf pour certains cours de l'offre Management), connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
- Environnements de formation installés sur les postes de travail ou en ligne
- Supports de cours et exercices
En cas de formation intra sur site externe à M2i, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires (équipements informatiques...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué.
* nous consulter pour la faisabilité en distanciel
** ratio variable selon le cours suivi
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation
Accessibilité de la formation
Le groupe M2i s'engage pour faciliter l'accessibilité de ses formations. Les détails de l'accueil des personnes en situation de handicap sont consultables sur la page Accueil et Handicap.
Modalités et délais d’accès à la formation
Les formations M2i sont disponibles selon les modalités proposées sur la page programme. Les inscriptions sont possibles jusqu'à 48 heures ouvrées avant le début de la formation. Dans le cas d'une formation financée par le CPF, ce délai est porté à 11 jours ouvrés.