Apprenez à créer des web scrapers robustes capables de contourner les systèmes anti-bot modernes. Dans ce cours complet de 5,5 heures, vous passerez de la création de scripts Python de base à la mise en place d'un tableau de bord MERN complet qui extrait et visualise des données réelles provenant d'Amazon, Booking.com, Indeed et de l'Index TIOBE.
À la fin de ce cours, vous disposerez d'une application complète déployée avec un tableau de bord React qui visualise des données extraites en temps réel. Elle est suffisamment professionnelle pour figurer dans votre portfolio ou être utilisée comme modèle de production pour le travail client.
-🛠 Tech Stack
- Langages : Python | JavaScript
- Extraction et contournement : Playwright | Cheerio | Navigateur d'extraction Evomi | API d'extraction Evomi | Proxies résidentiels
- Full-Stack : Node.js | Express | MongoDB | React | Vite | Bootstrap
✏️ Cours développé par @GavinLon
💻 Code
🏗️ Evomi a accordé une subvention pour rendre ce cours possible.
Chapitres
- 0:00:00 Introduction
- 0:12:44 Partie 1 - Web Scraping avec des scripts Python - Aperçu
- 0:16:27 Extraction de booking.com avec un script Python et le navigateur d'extraction d'Evomi
- 0:37:10 Extraction d'indeed.com avec un script Python et l'API d'extraction d'Evomi
- 0:48:39 Extraction d'amazon.com avec un script Python et les proxies résidentiels principaux d'Evomi
- 1:00:06 Partie 2 - Passer les tests de détection de bot avec le navigateur d'extraction d'Evomi - Aperçu
- 1:04:18 Accéder au site de détection de bot avec JavaScript - Via Playwright standard
- 1:13:29 Accéder au site de détection de bot avec JavaScript - Via le navigateur d'extraction d'Evomi
- 1:18:39 Partie 3 - Application de web scraping full-stack utilisant MERN - Aperçu
- 1:22:11 Configuration pour créer l'application web full-stack
- 1:28:17 Installer les dépendances pour le projet Node côté serveur
- 1:29:26 Créer le fichier de code server.js
- 1:42:03 Créer le fichier de code language.js - Pour définir le schéma du modèle de données de l'Index TIOBE
- 1:51:18 Créer le fichier de code tiobeService.js - Pour créer le code d'extraction/analytique en utilisant respectivement l'API d'extraction d'Evomi et Cheerio
- 2:12:41 Créer le fichier de code tiobeController.js - Pour gérer la logique des requêtes http entrantes
- 2:23:02 Session rapide de correction de bugs avant de tester le code via Postman
- 2:26:01 Tester l'extraction de l'Index TIOBE via Postman
- 2:32:28 Créer le code React pour afficher les données extraites de l'Index Tiobe
- 2:32:49 Configurer le projet client React avec VITE
- 2:35:50 Créer le composant React Tiobe
- 2:50:17 Installer Bootstrap et React-Router-Dom
- 3:07:24 Dans App.jsx, créer la route pour le composant Tiobe
- 3:26:35 Exécuter le client React pour tester le composant React Tiobe
- 3:37:01 Corriger les problèmes cosmétiques
- 3:39:29 Exécuter le code pour tester les corrections cosmétiques
- 3:40:27 Comment faire une requête de sondage à Evomi en utilisant l'API d'extraction d'Evomi.
- 3:45:24 Implémenter le code Node côté serveur pour extraire les résultats de recherche Amazon
- 3:45:58 Créer la route Amazon dans server.js
- 3:46:50 Créer le modèle Book pour définir le schéma des données de recherche Amazon
- 3:56:27 Créer le fichier de code amazonService.js - Pour créer le code d'extraction et d'analyse en utilisant respectivement l'API d'extraction d'Evomi et Cheerio
- 4:23:21 Créer le fichier de code bookController.js - Pour gérer la logique des requêtes http entrantes
- 4:24:41 S'assurer que bookController.getAmazonBooks est mappé à la route
- 4:34:42 Tester le code Node côté serveur pour l'extraction des résultats de recherche Amazon via Postman
- 4:36:41 Session de débogage - Corriger un problème
- 4:37:19 Exécuter le code - Testé avec des résultats réussis
- 4:38:41 Créer le code React pour afficher les résultats de recherche Amazon
- 4:40:06 Créer le composant React Amazon
- 5:21:26 Tester le code React pour le web scraping Amazon
- 5:25:12 Corriger les problèmes cosmétiques
- 5:27:20 Exécuter le code pour vérifier les corrections cosmétiques
- 5:36:27 Conclusion