Choisissez votre langue
Cours de Web Scraping avec Scrapy et Python
+ de 400 000 professionnels sur la plateforme
Exclusif aux entreprises

Cours de Web Scraping avec Scrapy et Python

Apprenez à collecter des données à partir de n'importe quel site web en utilisant Python et Scrapy — l'un des frameworks d'extraction de données web les plus puissants disponibles. Ce cours vous mène de la configuration de l'environnement à la création de spiders prêts pour la production qui gèrent la pagination, les mesures anti-bot et les pages rendues par JavaScript. À la fin, vous aurez un projet de portfolio et les compétences pratiques pour automatiser la collecte de données à grande échelle.

Dedika pour les apprenants

Ce que votre équipe va maîtriser:

  • Configurez un environnement de développement professionnel Python et Scrapy à partir de zéro.

  • Créez des spiders qui suivent les liens de pagination et explorent automatiquement des sites web multi-pages entiers.

  • Extrayez, nettoyez et stockez des données structurées dans CSV, JSON, SQLite et MongoDB.

  • Appliquez la rotation de proxies, le spoofing d'user-agent et AutoThrottle pour contourner les défenses anti-scraping courantes.

  • Scrapez des pages rendues par JavaScript et des applications monopages en utilisant l'intégration Playwright.

  • Concevez des projets de scraping complets avec des pipelines réutilisables, des schémas d'articles et une planification automatisée.

Comment votre équipe apprend de façon pratique Cours de Web Scraping avec Scrapy et Python

Comment votre équipe pratique Cours de Web Scraping avec Scrapy et Python

Des professionnels de ces entreprises apprennent sur Dedika

ActemiumFR
Nunner LogisticsNL
GT Constructora GeotécnicaCR
Sydel StarBR
Metrô de São PauloBR
Aguas AndinasCL
DSMIN
MeridianbetRS
CDHCN

Contenu du cours

8 Chapitres • 37 LeçonsDurée entre 4 et 360 heures (vous décidez)

Chapitre 1Voir les détails

Python et Configuration de l'Environnement Scrapy

  • Leçon 1 • Environnements Virtuels pour les Projets Python

    Créez des environnements virtuels isolés pour gérer proprement les dépendances des projets. L'isolement empêche les conflits de paquets entre plusieurs projets.

  • Leçon 2 • Configuration de l'Éditeur de Code pour les Projets Scrapy

    Configurez un éditeur de code avec le support Python, le linting et la coloration syntaxique. Un outillage approprié accélère le développement et réduit les erreurs de syntaxe.

  • Leçon 3 • Installation de Scrapy et de ses Dépendances

    Installez Scrapy via pip et résolvez les problèmes de dépendances courants. Une installation propre confirme que l'environnement est prêt pour le développement d'araignées.

  • Leçon 4 • Installation et Configuration de Python

    Installez Python et configurez les variables PATH pour un accès en ligne de commande. Une configuration correcte ici évite les erreurs d'environnement tout au long du cours.

Chapitre 2Voir les détails

Notions Fondamentales du Web pour les Scrapers

  • Leçon 1 • Outils de Développement du Navigateur pour la Recherche de Scraper

    Utilisez les outils de développement du navigateur pour inspecter les éléments, surveiller le trafic réseau et copier les sélecteurs. Ce flux de travail de recherche informe directement la conception de l'araignée.

  • Leçon 2 • Expressions XPath pour une Sélection Avancée

    Écrivez des expressions XPath pour naviguer dans le DOM avec une plus grande flexibilité que le CSS seul. XPath gère des schémas de parcours complexes que le CSS ne peut pas exprimer.

  • Leçon 3 • Comment Fonctionnent les Requêtes et Réponses HTTP

    Retracez le cycle de vie d'une requête HTTP du navigateur au serveur et retour. Ce modèle explique ce que Scrapy reproduit lors de la récupération des pages.

  • Leçon 4 • Sélecteurs CSS pour le Ciblage des Données

    Utilisez la syntaxe des sélecteurs CSS pour identifier précisément des éléments spécifiques dans un document HTML. Ces sélecteurs sont l'outil de ciblage principal dans les araignées Scrapy.

  • Leçon 5 • Structure HTML et le DOM

    Lisez et interprétez les documents HTML comme des structures arborescentes imbriquées. Comprendre le DOM est essentiel pour écrire des sélecteurs CSS et XPath précis.

Chapitre 3Voir les détails

Construire Votre Première Araignée Scrapy

  • Leçon 1 • Exécuter et Déboguer les Araignées

    Exécutez les araignées avec la commande scrapy crawl et interprétez la sortie des logs. Les compétences de débogage réduisent le temps passé sur les araignées défectueuses.

  • Leçon 2 • Anatomie d'une Classe d'Araignée Scrapy

    Examinez la classe de base Spider et ses attributs et méthodes requis. Chaque araignée hérite de cette structure, donc la maîtriser est fondamental.

  • Leçon 3 • Extraire des Données avec les Sélecteurs

    Appliquez les sélecteurs CSS et XPath à l'intérieur de la méthode parse pour extraire le texte et les attributs. L'extraction précise est la compétence centrale de toute araignée.

  • Leçon 4 • Structure d'un Projet Scrapy Expliquée

    Générez un projet Scrapy et comprenez le rôle de chaque fichier généré. Connaître la structure évite les erreurs de code mal placé et de configuration.

Chapitre 4Voir les détails

Items Scrapy et Modélisation des Données

  • Leçon 1 • Nettoyage des Données avec les Processeurs

    Écrivez des fonctions de processeur personnalisées pour nettoyer, convertir en type approprié et normaliser les valeurs des champs. Des données propres au niveau du loader réduisent la complexité du pipeline en aval.

  • Leçon 2 • Définir des Items Scrapy

    Déclarez des classes Item avec des champs typés pour représenter les enregistrements extraits. Les Items imposent un schéma cohérent à toutes les araignées d'un projet.

  • Leçon 3 • Utiliser les ItemLoaders pour des Données Propres

    Appliquez les ItemLoaders pour automatiser le traitement d'entrée et de sortie sur les valeurs des champs. Les Loaders séparent la logique d'extraction de la logique de nettoyage pour la maintenabilité.

  • Leçon 4 • Valider les Données Extraites

    Ajoutez une validation au niveau des champs pour détecter les enregistrements malformés avant qu'ils n'atteignent le stockage. Une validation précoce empêche les données corrompues d'entrer dans les pipelines.

Chapitre 5Voir les détails

Parcourir Plusieurs Pages et Sites

  • Leçon 1 • Suivre des Liens avec les Requêtes Scrapy

    Générez des objets scrapy.Request yield depuis les méthodes parse pour demander au robot d'exploration de récupérer des URL supplémentaires. Le suivi de liens est le mécanisme derrière les explorations complètes de sites.

  • Leçon 2 • Utiliser CrawlSpider pour l'Exploration Basée sur des Règles

    Exploitez la sous-classe CrawlSpider et les objets Rule pour définir de manière déclarative les schémas de suivi de liens. Les règles réduisent le code passe-partout pour les sites volumineux et structurés.

  • Leçon 3 • Gérer la Profondeur et la Portée de l'Exploration

    Configurez des limites de profondeur et des filtres d'URL pour que les explorations restent ciblées et efficaces. Le contrôle de la portée empêche les explorations incontrôlées qui gaspillent des ressources.

  • Leçon 4 • Stratégies de Pagination

    Détectez et suivez les liens de page suivante à travers les schémas de pagination numérotés et basés sur un curseur. La gestion de la pagination permet d'extraire un ensemble de données complet.

  • Leçon 5 • Passer des Données Entre les Requêtes

    Utilisez les dictionnaires cb_kwargs et meta pour transporter le contexte d'une requête à la suivante. Un contexte partagé permet l'assemblage d'enregistrements multi-pages.

Chapitre 6Voir les détails

Pipelines Scrapy et Stockage des Données

  • Leçon 1 • Exporter des Données vers CSV et JSON

    Utilisez les exportateurs de flux intégrés de Scrapy pour écrire les items dans des fichiers plats. Les exports vers des fichiers plats sont le chemin le plus rapide de l'araignée aux données utilisables.

  • Leçon 2 • Écrire des Composants de Pipeline Personnalisés

    Construisez des classes de pipeline qui nettoient, dédoublonnent ou enrichissent les items avant le stockage. Les pipelines personnalisés gèrent la logique que les exportateurs ne peuvent pas exprimer.

  • Leçon 3 • Stocker des Données dans MongoDB

    Écrivez un pipeline qui insère les items dans une collection MongoDB en utilisant PyMongo. Le stockage de documents convient aux données extraites avec des champs variables ou imbriqués.

  • Leçon 4 • Stocker des Données dans une Base de Données SQL

    Connectez un pipeline à une base de données relationnelle et insérez les items ligne par ligne. Le stockage en base de données permet l'interrogation et la gestion des données à long terme.

  • Leçon 5 • Comprendre l'Architecture du Pipeline

    Retracez comment les items circulent des araignées à travers les composants du pipeline ordonnés. Comprendre ce flux est nécessaire pour concevoir des chaînes de traitement efficaces.

Chapitre 7Voir les détails

Gérer les Mesures Anti-Scraping

  • Leçon 1 • Comprendre les Techniques de Détection de Robots

    Cataloguez les signaux côté serveur utilisés pour identifier le trafic automatisé. Connaître les méthodes de détection éclaire les contre-mesures appliquées dans les sections suivantes.

  • Leçon 2 • Limiter les Requêtes avec AutoThrottle

    Activez l'extension AutoThrottle de Scrapy pour adapter le débit des requêtes aux temps de réponse du serveur. Une exploration polie réduit le risque de bannissement pour limite de débit.

  • Leçon 3 • Rotation des User-Agents et des En-têtes

    Configurez un intergiciel pour randomiser les chaînes user-agent et les en-têtes HTTP par requête. La rotation des en-têtes réduit l'empreinte qui déclenche la détection des robots.

  • Leçon 4 • Utiliser la Rotation de Proxy

    Acheminez les requêtes via des pools de proxy rotatifs pour répartir le trafic sur plusieurs adresses IP. La rotation de proxy est la défense principale contre les bannissements basés sur l'IP.

  • Leçon 5 • Gérer les Cookies et les Sessions

    Contrôlez la gestion des cookies pour maintenir les sessions ou isoler les requêtes selon les besoins. Une gestion de session appropriée empêche les blocages par page de connexion et la détection basée sur les sessions.

Chapitre 8Voir les détails

Scraper les Pages Rendu avec JavaScript

  • Leçon 1 • Gérer le Défilement Infini et le Chargement Paresseux Lazy Loading

    Automatisez les actions de défilement et déclenchez les événements de chargement paresseux pour exposer le contenu caché. Ces techniques complètent l'extraction d'ensembles de données sur les pages modernes de type flux.

  • Leçon 2 • Identifier le Contenu Rendu avec JavaScript

    Distinguez le HTML rendu côté serveur du contenu rendu côté client avant de choisir une stratégie de scraping. Une identification correcte empêche de gaspiller des efforts sur la mauvaise approche.

  • Leçon 3 • Compromis de Performance de l'Automatisation du Navigateur

    Comparez la vitesse, le coût en ressources et la fiabilité des navigateurs sans tête par rapport aux requêtes HTTP directes. Des décisions éclairées sur les compromis maintiennent les projets maintenables et efficaces.

  • Leçon 4 • Intégrer Scrapy avec Playwright

    Utilisez la bibliothèque scrapy-playwright pour rendre le JavaScript à l'intérieur du pipeline de requêtes de Scrapy. L'intégration Playwright gère les sites où l'interception d'API n'est pas réalisable.

  • Leçon 5 • Intercepter les Appels API Directement

    Faites de la rétro-ingénierie sur les requêtes API sous-jacentes qu'un navigateur effectue et appelez-les directement avec Scrapy. Les appels API directs sont plus rapides et plus stables que l'automatisation du navigateur.

Certification

Votre certificat valide de réussite

Ce cours est pour vous :

  • Analystes de données en herbe : besoin de jeux de données réels sans dépendre de fournisseurs tiers.

  • Passionnés de Python : prêts à dépasser les tutoriels et à construire quelque chose de véritablement utile.

  • Développeurs freelance : souhaitent proposer la collecte automatisée de données comme service facturable.

  • Personnes en reconversion professionnelle : visent des postes en data ou en backend et ont besoin d'un projet concret pour leur portfolio.

  • Chercheurs et universitaires : doivent collecter des données web de manière répétée sans copier-coller manuel.

  • Propriétaires de petites entreprises : souhaitent surveiller leurs concurrents ou agréger des informations de marché automatiquement.

Cours associés

FAQ

Qui est Dedika ?

Le certificat est-il valable en Côte d’Ivoire ?

Les cours sont-ils gratuits ?

Quelle est la charge de travail du cours ?

Comment sont les cours ?

Comment fonctionnent les cours ?

Quelle est la durée des cours ?

Quel est le coût ou le prix des cours ?

Qu'est-ce qu'un cours EAD ou en ligne et comment ça marche ?

Cours PDF