Introduction
Qu'est ce que le web scraping ?
Dans quels cas utiliser le web scraping ?
Quelles sont les compétences nécessaires pour le web scraping ?
Les fondamentaux de la programmation en Python pour le web scraping
Contenu de la section
Introduction à la programmation
Programmation en Python - Préparation de l'environnement de travail
Installation Anaconda
Présentation d'anaconda
Installation Visual Studio Code
Lancer un script depuis VS Code
Programmation en Python - Gestion des variables en Python
Introduction aux variables
Les variables numériques
Les variables textuelles
Consulter et modifier le type d'une variable
Gérer la concaténation
Présentation exercices
Corrections exercices
Programmation en Python - Les conditions
Introduction aux conditions
Les booléens
Les opérateurs logiques
Construction d'une condition simple
Les conditions successives
Les conditions multiples
Enoncé exercice
Correction exercice
Programmation en Python - Les listes
Introduction aux listes
Obtenir des informations sur une liste
Modifier une liste
Enoncé exercice
Correction exercice
Programmation en Python - Les dictionnaires
Introduction aux dictionnaires
Modifier un dictionnaire
Créer des sous dictionnaires
Enoncé exercice
Correction exercice
Programmation en Python - Les boucles
Introduction aux boucles
La boucle while
La boucle for
Itérer sur une liste numérique
Programmation en Python - Les fonctions
Introduction aux fonctions
Créer sa première fonction
Les arguments de fonctions
Les valeurs par défaut sur les arguments
Les variables globales et locales
Enoncé exercice
Correction exercice
Programmation en python - Les librairies
Utiliser une librairie
Installer une librairie
Programmation en Python - La programmation orientée objet
La POO
Utiliser un terminal de commandes
Comprendre et lancer le terminal de commandes
Naviguer dans les dossiers
Modifier un dossier
Copier un dossier ou un fichier
Utiliser Python dans le terminal
Gérer des arguments depuis le terminal
La programmation web avec les langages côté client
Qu'est ce que le développement côté client
Comment lire le code d'une page web
Comprendre le langage HTML pour le web scraping
Créer son premier fichier HTML
Les principales balises
Les liens hyper text
Les images
Les listes et les tableaux
La personnalisation graphique
Enoncé exercice
Correction exercice
Comprendre le langage CSS pour le web scraping
Comprendre la syntaxe du CSS
Cibler les balises
Les classes CSS
Les IDs en CSS
Les DIV
Les SPAN
Enoncé exercice
Correction exercice
Comprendre le langage Javascript pour le web scraping
Gérer ses variables en JS
Créer des conditions
Créer des boucles
Les fonctions en js
Préparer son code à la dynamisation
Le DOM en Javacript
Ajouter un évènement
Modifier une page HTML dynamiquement
Naviguer dans le DOM
Enoncé exercice
Correction exercice
Web scraping avec BeautifulSoup
Préambule
Disclaimer sites du cours
Première analyse du site
installation des librairies nécéssaires
Requêter une page web et vérifier son fonctionnement
Choisir son interpréteur html
Cibler des balises
Utiliser les attributs des balises
Récupérer les valeurs d'attributs
Extraire les données des balises
Les sélecteurs CSS
Naviguer dans le DOM
Préparer son scraping
Utiliser la librairie Pandas pour mieux comprendre son extract
Extraire des données sur plusieurs pages
Enoncé Atelier
Correction Atelier
Web scraping avec Scrapy - principe de fonctionnement
Présentation de Scrapy
Préparation de son espace de travail
Les commandes windows
Générer son premier spider
Générer son premier spider (suite)
L'architecture d'un projet scrapy
Premières exécutions de son spider
Web scraping avec Scrapy - Selectionner les données avec xpath
La sélection de balises simples
Extraire le texte d'une balise
Sélection avec les attributs
Les références relatives
Récupérer la valeur d'un attribut
Les filtres "contient"
Nettoyer le texte récupéré
Naviguer dans le DOM
Enoncé Atelier
Correction atelier
Web scraping avec Scrapy - Les sélecteurs CSS
Sélection de balises simples
Sélection à partir d'attributs
Web scraping avec Scrapy - Exporter en Json et en CSV
Préparation de l'environnement de travail
Exporter en json ou en csv
Web scraping avec Scrapy - Récupérer des données sur plusieurs pages
Gérer la pagination
Récupérer des données sur des pages détail
Web scraping avec Scrapy - Les rules objects
Les spiders de type "Crawl"
Gestion des rule objects
Enrichir son spider
Web scraping avec Scrapy - Les item loaders
Déclaration des items
Les item loaders
Utiliser l'API d'un site web pour votre web scraper
Repérer l'utilisation d'une API sur un site web
Préparer l'environnement de travail
Exploration des données d'une API
Récupérer les données dans une API
Itérer sur une API
Web scraping avec Scrapy - Atelier
Enoncé Atelier
Correction atelier
Le Web scraping avec Selenium
Présentation Selenium
Vérifier si Sélénium est nécessaire à votre projet
Faire le setup d'installation
Préparer le spider
Scraping simple avec Selenium
Scraping avec interactions - installation
Scraping avec interactions
Les autres interactions possibles avec Selenium
Enoncé Atelier
Correction atelier
Contourner les blocages des sites web
Introduction
Apprendre à lire un fichier robots.txt
Ne pas suivre les règles du fichier robots.txt
Modifier le user agent
Dynamiser le user agent à chaque requête partie 1
Dynamiser le user agent à chaque requête partie 2
Bloquer les cookies
Ralentir le scraper
Web Scraping avec Splash
Introduction à la librairie Splash
Installation splash
Découverte de splash et du langage LUA
Créer un script en LUA
Intégrer Splash dans un projet Scrapy
Limiter les ressources appelées
L'autothrottle
Enoncé Atelier
Correction atelier
Simuler une connexion à un compte en ligne
Gérer le login avec Scrapy
Gérer le login avec Splash
Entrainement
Gestion des requêtes en AJAX
Comprendre l'AJAX
Récupérer des données depuis une requête dynamique
Envoyer vos données vers l'extérieur avec les pipelines
Connecter son projet Scrapy au système Mongo DB cloud - partie 1
Connecter son projet Scrapy au système Mongo DB cloud - partie 2
Conclusion et remerciements
Conclusion et remerciements