Vous êtes sur la page 1sur 35

Le web scraping de A à Z

Aymard Moubila Matsahanga

20 janvier 2024
ii
Table des matières

1 Introduction au web scraping 1


1.1 Définition du web scraping . . . . . . . . . . . . . . . . . . . . 1
1.2 Importance du web scraping dans l’analyse des données . . . . 1
1.3 Éthique et légalité du web scraping . . . . . . . . . . . . . . . 1

2 Introduction à Beautiful Soup 3


2.1 Qu’est-ce que Beautiful Soup ? . . . . . . . . . . . . . . . . . . 3
2.2 Installation et configuration . . . . . . . . . . . . . . . . . . . 3
2.3 Premiers pas avec Beautiful Soup : extraire des données simples 3

3 Scraping de plusieurs pages avec Beautiful Soup 5


3.1 Navigation entre les pages . . . . . . . . . . . . . . . . . . . . 5
3.2 Extraction de données de multiples pages . . . . . . . . . . . . 5
3.3 Gestion des paginations et des structures complexes . . . . . . 5

4 XPath 7
4.1 Qu’est-ce que XPath ? . . . . . . . . . . . . . . . . . . . . . . 7
4.2 Utilisation de XPath pour naviguer dans le DOM . . . . . . . 7
4.3 Extraire des données en utilisant XPath . . . . . . . . . . . . 7

5 Introduction à Selenium 9
5.1 Présentation de Selenium . . . . . . . . . . . . . . . . . . . . . 9
5.2 Installation et configuration de Selenium . . . . . . . . . . . . 9
5.3 Utilisation de Selenium pour l’automatisation du navigateur . 9

6 Projet 2 : Infinite Scrolling & Login (Twitter Bot) 11


6.1 Objectifs du projet . . . . . . . . . . . . . . . . . . . . . . . . 11
6.2 Mise en place d’un bot pour le défilement infini . . . . . . . . 11

iii
iv TABLE DES MATIÈRES

6.3 Connexion à Twitter et extraction de données . . . . . . . . . 11

7 Introduction à Scrapy 13
7.1 Présentation de Scrapy . . . . . . . . . . . . . . . . . . . . . . 13
7.2 Installation et configuration de Scrapy . . . . . . . . . . . . . 13
7.3 Structure de base d’un projet Scrapy . . . . . . . . . . . . . . 13

8 Gérer plusieurs pages avec Scrapy 15


8.1 Suivi des liens et navigation entre les pages . . . . . . . . . . . 15
8.2 Techniques avancées de scraping avec Scrapy . . . . . . . . . . 15
8.3 Pagination et défilement infini avec Scrapy . . . . . . . . . . . 15

9 Projet 3 : Construction de Crawlers avec Scrapy 17


9.1 Objectifs du projet . . . . . . . . . . . . . . . . . . . . . . . . 17
9.2 Création d’un crawler pour un site web spécifique . . . . . . . 17
9.3 Stockage des données extraites . . . . . . . . . . . . . . . . . . 17

10 Exportation de données vers une base de données : MongoDB


et SQLite 19
10.1 Introduction à MongoDB et SQLite . . . . . . . . . . . . . . . 19
10.2 Stockage des données extraites dans MongoDB . . . . . . . . . 19
10.3 Stockage des données extraites dans SQLite . . . . . . . . . . 19

11 Scraping d’APIs & Connexion à un site web avec Scrapy 21


11.1 Introduction aux APIs . . . . . . . . . . . . . . . . . . . . . . 21
11.2 Utilisation de Scrapy pour accéder aux APIs . . . . . . . . . . 21
11.3 Techniques avancées de connexion à un site web avec Scrapy . 21

12 Fondamentaux de Splash 23
12.1 Qu’est-ce que Splash ? . . . . . . . . . . . . . . . . . . . . . . 23
12.2 Installation et configuration de Splash . . . . . . . . . . . . . 23
12.3 Utilisation de Splash pour le scraping de sites web basés sur
JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

13 Projet 4 : Scraping de sites web JavaScript avec Splash 25


13.1 Objectifs du projet . . . . . . . . . . . . . . . . . . . . . . . . 25
13.2 Utilisation de Splash pour interagir avec des sites web dyna-
miques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
13.3 Extraction de données à partir de sites web JavaScript . . . . 25
TABLE DES MATIÈRES v

Bibliographie 27
vi TABLE DES MATIÈRES
Chapitre 1

Introduction au web scraping

1.1 Définition du web scraping


Selon Lawson (Lawson 2015), le web scraping est une technique puis-
sante pour extraire des données à partir de sites web.

1.2 Importance du web scraping dans l’analyse


des données
1.3 Éthique et légalité du web scraping

1
2 CHAPITRE 1. INTRODUCTION AU WEB SCRAPING
Chapitre 2

Introduction à Beautiful Soup

2.1 Qu’est-ce que Beautiful Soup ?


2.2 Installation et configuration
2.3 Premiers pas avec Beautiful Soup : extraire
des données simples

3
4 CHAPITRE 2. INTRODUCTION À BEAUTIFUL SOUP
Chapitre 3

Scraping de plusieurs pages avec


Beautiful Soup

3.1 Navigation entre les pages


3.2 Extraction de données de multiples pages
3.3 Gestion des paginations et des structures
complexes

5
6CHAPITRE 3. SCRAPING DE PLUSIEURS PAGES AVEC BEAUTIFUL SOUP
Chapitre 4

XPath

4.1 Qu’est-ce que XPath ?


4.2 Utilisation de XPath pour naviguer dans le
DOM
4.3 Extraire des données en utilisant XPath

7
8 CHAPITRE 4. XPATH
Chapitre 5

Introduction à Selenium

5.1 Présentation de Selenium


5.2 Installation et configuration de Selenium
5.3 Utilisation de Selenium pour l’automatisa-
tion du navigateur

9
10 CHAPITRE 5. INTRODUCTION À SELENIUM
Chapitre 6

Projet 2 : Infinite Scrolling &


Login (Twitter Bot)

6.1 Objectifs du projet


6.2 Mise en place d’un bot pour le défilement
infini
6.3 Connexion à Twitter et extraction de don-
nées

11
12CHAPITRE 6. PROJET 2 : INFINITE SCROLLING & LOGIN (TWITTER BOT)
Chapitre 7

Introduction à Scrapy

7.1 Présentation de Scrapy


7.2 Installation et configuration de Scrapy
7.3 Structure de base d’un projet Scrapy

13
14 CHAPITRE 7. INTRODUCTION À SCRAPY
Chapitre 8

Gérer plusieurs pages avec Scrapy

8.1 Suivi des liens et navigation entre les pages


8.2 Techniques avancées de scraping avec Scrapy
8.3 Pagination et défilement infini avec Scrapy

15
16 CHAPITRE 8. GÉRER PLUSIEURS PAGES AVEC SCRAPY
Chapitre 9

Projet 3 : Construction de
Crawlers avec Scrapy

9.1 Objectifs du projet


9.2 Création d’un crawler pour un site web spé-
cifique
9.3 Stockage des données extraites

17
18CHAPITRE 9. PROJET 3 : CONSTRUCTION DE CRAWLERS AVEC SCRAPY
Chapitre 10

Exportation de données vers une


base de données : MongoDB et
SQLite

10.1 Introduction à MongoDB et SQLite


10.2 Stockage des données extraites dans Mon-
goDB
10.3 Stockage des données extraites dans SQ-
Lite

19
20CHAPITRE 10. EXPORTATION DE DONNÉES VERS UNE BASE DE DONNÉES : MON
Chapitre 11

Scraping d’APIs & Connexion à


un site web avec Scrapy

11.1 Introduction aux APIs


11.2 Utilisation de Scrapy pour accéder aux
APIs
11.3 Techniques avancées de connexion à un
site web avec Scrapy

21
22CHAPITRE 11. SCRAPING D’APIS & CONNEXION À UN SITE WEB AVEC SCRAPY
Chapitre 12

Fondamentaux de Splash

12.1 Qu’est-ce que Splash ?


12.2 Installation et configuration de Splash
12.3 Utilisation de Splash pour le scraping de
sites web basés sur JavaScript

23
24 CHAPITRE 12. FONDAMENTAUX DE SPLASH
Chapitre 13

Projet 4 : Scraping de sites web


JavaScript avec Splash

13.1 Objectifs du projet


13.2 Utilisation de Splash pour interagir avec
des sites web dynamiques
13.3 Extraction de données à partir de sites
web JavaScript

25
26CHAPITRE 13. PROJET 4 : SCRAPING DE SITES WEB JAVASCRIPT AVEC SPLASH
Bibliographie

27
28CHAPITRE 13. PROJET 4 : SCRAPING DE SITES WEB JAVASCRIPT AVEC SPLASH
Bibliographie

Lawson, Richard (2015). Web scraping with Python. Packt Publishing Ltd.

29

Vous aimerez peut-être aussi