Formation Scraping et manipulation de données avec Python À la découverte de Request, Asyncio, Scrappy et Selenium

Durée 4 jours
Niveau Avancé
Classe à distance
Possible

Vous pouvez suivre cette formation en direct depuis votre domicile ou votre lieu de travail. Plus d'informations sur notre solution de classe à distance...

Référence OSCR

Avec sa réputation d’excellent « langage glue », Python est la technologie idéale pour récupérer des données hétérogènes depuis des sources aux formes variées afin d’accumuler une base de connaissances.

C’est l’objet du scraping, qui vise à parcourir une série de ressources - souvent des sites Web ou des APIs REST - afin d’en extraire des informations ciblées.

Avec cette formation Scraping Python, nous verrons comment s’organise un tel programme, en commençant par créer ensemble un crawler à la main, pour progressivement aller vers des technologies plus sophistiquées, jusqu’à tout automatiser.

Objectifs opérationnels :

Maitriser la manipulation de données web avec Python.

Objectifs pédagogiques :

Concrètement à l'issue de cette formation Scraping Python, vous serez en mesure de :

  • Comprendre les enjeux techniques et ethniques du scraping
  • Connaître les différentes méthodes utilisées pour récupérer, traiter et stocker les données
  • Maîtriser les technologies existantes pour choisir la solution adaptée à votre besoin d’acquisition

Public :

Ce cours Scraping Python cible principalement les programmeurs déjà à l’aise avec Python, ayant déjà des projets de taille moyenne à leur actif, et souhaitant mettre en œuvre leur propre outillage pour étoffer le stock de données dans lequel ils puissent piocher.

Prérequis :

Pour suivre ce cours Scraping Python, il faut être à l’aise avec le langage Python dans sa dernière version. Le participant doit être capable de créer des scripts complexes de manière autonome ainsi que savoir utiliser écosystème du langage (pip, virtualenv, etc.).
La formation Python (réf. OPYT) constitue un excellent prérequis.

La base du traitement par lot (scraping)

Rappel des fondamentaux

Parcourir le système de fichiers
Gérer proprement l’encoding
Lire et écrire des fichiers
Analyser le JSON, le CSV et l’XML
Les générateurs

Travaux Pratiques

Crawler une collection de CSV pour en faire un rapport statistique

Parcours de données sur le Web

Mon premier scraper

Rappel sur le protocole HTTP
Requêtes simples avec Request
Stocker les données avec SQLAlchemy
Analyser du HTML avec Beautiful Soup

Travaux Pratiques

Crawler les articles de Wikipédia sans passer par l’API, stocker le résultat en base

Questions de performances

Concurrence et parallélisme

Threads et GIL
Utiliser plusieurs cœurs avec le multiprocessing
Programmation I/O asyncrone
Performances et éthiques
Utilisation d’une forme de cache : disque, RAM et redis
Introduire un délai aléatoire
Le fichier robot.txt

Travaux Pratiques

Crawler les articles de Wikipédia via l’API et Asyncio

Les API professionnelles

Concurrence et parallélisme

Authentifications et token
Anatomie d’une API REST
Retry propre
Gérer le rate limiting
Gestion des erreurs
Logging de l’application
Exemple avec un client twitter fait à la main

Travaux Pratiques

Crawler les posts de twitter via l’API officielle en utilisant un client déjà existant

Industrialiser le crawling

Scrappy, un framework de scraping automatique

Introduction aux mécanismes de base du framework

Travaux Pratiques

Crawler les articles de Wikipédia en utilisant scrappy

Selenium, un browser headless

Utiliser Selenium à la main
Utiliser Scrappy et Selenium ensemble

Travaux Pratiques

Crawler les images et les commentaires d’imgur avec scrappy et selenium

Cette formation propose une alternance de pratique et de théorie (50% / 50%) pour une meilleure assimilation des connaissances.


Formations Informatique
et Management
en ligne à ce jour

+
Stagiaires dans nos salles
de cours sur
l'année

%
De participants satisfaits
ou très satisfaits de nos
formations


Formateurs experts
validés par
PLB