Vous êtes sur la page 1sur 17

ECOLE SUPERIEURE PRIVEE D’INGENIEURIE ET DE

TECHNOLOGIES

STAGE D’IMMERSION EN ENTREPRISE

Effectué au sein de l’entreprise :

SW Consulting

WEB SCRAPING A UN FICHIER JSON

Réalisé par :

SAKLI Lobna

Période :
1ère Année ingénierie en Informatique

2021 - 2022

1
Sommaire
Chapitre1 : Présentation Général de l’entreprise et son secteur d’activité :.......7
1. Présentation :.............................................................................................7
1.1. Clientèle :.................................................................................................7
1.2. Principaux services :................................................................................7
Chapitre 2 : Présentation du projet......................................................................8
1. Problématique :..........................................................................................8
2. Analyse du projet........................................................................................8
2.1. Finalités et Objectifs :..............................................................................8
2.2. Web scraper :..........................................................................................8
3. Scraping....................................................................................................10
3.1. Fonctionnement....................................................................................10
3.2. Mind-mapping :.....................................................................................12
3.2.1. Schéma général :................................................................................12
3.2.2. Schéma détaillé :................................................................................12
Chapitre 3 : Technologies...................................................................................14
1. Les logiciels utilisés :.................................................................................14
1.1. PyCharm :..............................................................................................14
1.2. Visual studio :........................................................................................14
2. Langage :...................................................................................................14
2.1. WebDriver :...........................................................................................14
2.2. Python Selenium :..................................................................................15
2.3. XML :......................................................................................................15

2
Table d’illustrations
Figure 1: Logo SW consulting..............................................................................7
Figure 2: logo JSON..............................................................................................8
Figure 3: web scraping..........................................................................................9
Figure 4: différence entre un web crawler et web scraper....................................9
Figure 5: logo chrome.........................................................................................10
Figure 8: inspection du bouton de recherche.......................................................11
Figure 6: inspection d'une carte d'un hôtel..........................................................11
Figure 7: les données à collecter.........................................................................11
Figure 9: logo PyCharm......................................................................................14
Figure 10: logo Visual Studio.............................................................................14
Figure 11: logo WebDriver.................................................................................14
Figure 12: Logo Python Selenium.......................................................................15
Figure 13: exemple XML....................................................................................15

3
Remerciement
Nous tenons à remercier dans un premier temps, Mr. BEN AICHA Seif
pour le temps qu’il nous a consacré un bon environnement de stage et son
soutien lors de cette période.

Nous remercions aussi Mr. BEN AICHA Thabet, Mme. HENY Jihène, de
m’avoir confié une bonne formation et pour le temps qu’ils m’ont consacré.

Enfin, je remercie toute personne que j’ai rencontré tout au long du période de
stage. Leurs rencontres étaient assez enrichissantes et m’a aidé à se familiariser
avec l’environnement de l’entreprise.

4
Résumé
J’ai réalisé mon stage « immersion en entreprise » au sein de l’entreprise
SW Consulting. Cette expérience m’a aidé pour s’intégrer dans la vie
professionnelle et surtout à améliorer mes connaissances théoriques avec
l’aspect pratique dans le domaine de développement web et le collecte des
données, j’ai assisté deux formations : PHP, HTML pour bien comprendre
l’architecture des sites web et le Python Sélénium pour l’IA et le collecte des
données : les noms des hôtels, les prix, les taxes, ses descriptions et les images.
En effet, ce projet consiste à collecter des données du site « Booking.com » qui
est un site web pour les réservations qui agit en qualité d'intermédiaire (agent)
entre les clients désirant réserver un hébergement en ligne et votre hôtel,
établissement ou location de vacances. Ce type de modèle économique est
également qualifié « d'agence ».

5
Introduction générale
Depuis sa création au début des années 1990, le World Wide Web,
communément appelé Web, a connu une croissance exponentielle. De quelques
centaines de sites en 1993, sa taille estimée dépasse aujourd’hui les 45 milliards
de pages. L’évolution de l’informatique a permis de rendre la vie plus facile,
aussi bien dans le domaine personnel que dans le domaine professionnel.
Désormais, presque tout le monde peut accéder à Internet, aux appareils mobiles
et aux ordinateurs, Effet direct de cette croissance : les données qu’il contient
sont progressivement devenues extrêmement intéressantes pour les entreprises.
Un nouveau défi est alors apparu, il leur faut apprendre à recueillir, comprendre
et exploiter les informations issues de cette source quasi inépuisable et sans
cesse renouvelée. On observe, par exemple, la multiplication des comparateurs
pour tous les types de produits (assurances, banques, produits culturels, etc.) qui
centralisent les données collectées de différents sites. On peut également
imaginer une enseigne de supermarché étudier la concurrence de façon
automatique pour ajuster ses prix

Ce travail fait partie de stage d’été pour l'année universitaire 2021/2022, qui
consiste à collecter et la récupération de données de pages web, de façons
automatiques Nommée « Web scraping ». C’est une technique, basée sur un
principe simple. Qui sert à de nombreuses applications : Moteurs de recherche,
comparateurs de prix, outils de monitoring etc.

Pour pouvoir faire correctement du Web Scraping, il faut se poser deux


questions :

 Comment est construit le site web ?


 Quelles données souhaite-t-on récupérer ?

6
Chapitre1 : Présentation Général de
l’entreprise et son secteur d’activité :
1. Présentation :

Figure 1: Logo SW consulting

SW CONSULTING est une entreprise Tunisienne, prestataire de service


informatique il y a plus de 4 ans.
Répondante à la quasi-totalité des besoins des TPE, des PME, ainsi que les
grands groupes et ceci quel que soit leur secteur d’activité.

1.1. Clientèle :
SW consulting a gagné des clients qui sont principalement des entreprises
basées en Europe. Ils se comptent par une (vingtaine) annuellement, et un joli
pourcentage d’entre eux leur sont fidèles.
Ses clients avaient tous des profits différents ; des courtiers, des marchands, des
chefs d’entreprises, des sociétés d’assurance, des agences de voyages des
entreprises opérantes dans le secteur pharmaceutique et encore plus.

1.2. Principaux services :

Parmi ses principaux services on trouve :


 La création et la gestion des sites web
 Le développement des applications web et mobile
 La création et la mise en place des CRM
 L’optimisation de référencement naturel SEO.

7
Chapitre 2 : Présentation du projet
1. Problématique :

La gestion des platform de gestion des réservations et des accommodations est


devenu difficile avec les choix du marché et les prix proposés pour certaines
agences pour satisfaire les clients, donc la comparaison et l’étude de certaines
choix est nécessaire

2. Analyse du projet

2.1. Finalités et Objectifs :


Ce projet vise à mener des recherches dans le domaine du scraping web et
comment il peut être utilisé comme outil de stockage de données mises à jour
comme outil de sauvegarde des données actualisées. L'objectif principal de ce
projet est de comprendre comment la collecte de données par l'extraction des
informations de sites Web.
Les résultats attendus de ce projet sont les suivants
- Un web scraper
- fichier JSON
Figure 2: logo JSON
2.2. Web scraper :
À mesure que l'internet et le web continuent de s'étendre, il peut devenir
difficile d'accéder à des pages web sans connaître au préalable l'adresse de la
page. C'est là que les moteurs de recherche interviennent. Les moteurs de
recherche utilisent un processus appelé "web crawling", qui est un algorithme
conçu pour balayer ou ramper à travers une collection de sites Web, qui est
indexée et recherchée.
Cet algorithme comporte trois composantes principales : une page Web est
récupérée, elle est analysée pour en extraire toutes les URL (Uniform
Resource Locator). Par exemple, lorsqu'on cherche des réservations, un
moteur de recherche ne trouvera que ce que les sites Web disent sur leurs
pages de contenu, alors qu'un scraper Web peut interroger les bases de

8
données sous-jacentes et tracer le coût des réservations au fil du temps à
partir de ce site web « Booking.com ».

Figure 3: web scraping

Un scraper web diffère d'un crawler web, car un crawler web se contente
d'explorer et d'indexer, tandis qu'un scraper web est un outil automatisé qui
interroge un serveur web pour récupérer une page web, et analyse la page
web pour en extraire des informations. Alors qu'un crawler web scanne de
nombreuses pages web pour trouver des liens, le format de ces liens reste le
même, cependant, lorsqu'on utilise un scraper web pour extraire des données
de pages web, le format du balisage change entre les différents sites web).
Malgré cela, les web scrapers sont souvent utilisés pour accéder à des zones
d'un site Web que les moteurs de recherche ne peuvent pas atteindre

9
Figure 4: différence entre un web crawler et web scraper

● Notre application puisse fonctionner seulement pour Chrome comme un


système d’exploitation à condition d’avoir une connexion internet.
Figure 5: logo chrome

3. Scraping

3.1. Fonctionnement
Le principe de base du scraping est simple : transformer des informations non
structurées présentes dans des pages web en données structurées facilement
exploitables. Le programme qui met ce concept en œuvre est généralement
appelé “scraper”.

10
11
Figure 8: inspection du bouton de recherche

Figure 6: les données à collecter

Figure 7: inspection d'une carte d'un hôtel

12
3.2. Mind-mapping :

3.2.1. Schéma général :

Selectionner
Ouvrir Choisir Chercher une
une periode à
"Booking.com" hebergement zone
reserver

Extraire les Enregistrer les


Quitter
données données

3.2.2. Schéma détaillé :

Ouvrir webDriver
Valider les dates Cliquer "Rechercher"
"booking.com"

Detecter le nombre
Choisir Selectionner la date
d'hotels disponible Quitter
"hebergement" mentionnée (X,Y)
(avant filtrage)

Enregistrer les
Detecter la barre de Rechercher la date
Filtrer les hotels données dans un
recherche mentionnée ( X,Y )
fichier JSON

Attendre la date Detecter le nombre


Insérer l'input de Creation d'un fichier
mentionnée de l'user d'hotels disponible
l'user JSON
(Du X Au Y) (après filtrage)

Detecter la Comparaison des Extractions des


Cliquer "Rechercher"
calendrier nombres d'hotels données

13
Tableau 1: transformation des données collectées

Description
Nom de Description
Prix Taxe Distance Description Image
l’hôtel de la
de la mer écologique
chambre
Chambre lit
Sousse
King- size
Pearl
balcon, Vue
Marriott 382 6 400 m - link
sur ville
Resort &
2 lits
Spa
simples

Le scraper pourra alors être un logiciel commercial paramétré de façon à


récupérer les données souhaitées sur le site en question ou bien un programme
développé spécifiquement pour cette tâche et donc parfaitement adapté au site.

14
Chapitre 3 : Technologies
1. Les logiciels utilisés :

1.1. PyCharm :

Figure 9: logo PyCharm

PyCharm est un environnement de développement intégré (IDE) Python dédié


qui fournit une large gamme d'outils essentiels pour les développeurs Python,
étroitement intégrés pour créer un environnement pratique pour le
développement productif de Python, du web et des sciences des données.
Type : Environnement de développement intégré

1.2. Visual studio :

Figure 10: logo Visual Studio

Visual Studio est une plateforme de lancement créative que vous pouvez utiliser
pour modifier, déboguer et construire du code, pour notre projet on l’a utilisé
pour la modification de JSON.
Type : Environnement de développement intégré

2. Langage :

2.1. WebDriver :
Le fait que WebDriver pilote un navigateur de manière native,
comme le ferait un utilisateur, soit localement, soit sur une machine
distante à l'aide du serveur Selenium, marque un bond en avant en
termes d'automatisation du navigateur. Figure 11: logo WebDriver
15
2.2. Python Selenium :

Figure 12: Logo Python Selenium

Python est un langage de programmation de haut niveau à usage général. Sa


philosophie de conception met l'accent sur la lisibilité du code avec l'utilisation
d'une indentation importante. Python est typé dynamiquement et recueille les
déchets. Il prend en charge plusieurs modèles de programmation, notamment la
programmation structurée, orientée objet et fonctionnelle.

2.3. XML :

Figure 13: exemple XML

« Extensible Markup Language » est un langage de balisage et un format de


fichier permettant de stocker, de transmettre et de reconstruire des données
arbitraires.

16
Conclusion
Le Web se développe à une vitesse folle et bien sûr, toutes les technologies qui
l'entourent évoluent à la même vitesse. Les données sont désormais le nerf de la
guerre. Les entreprises ont désormais compris qu'Internet peut être un
formidable moyen d'expansion. Scraping, mais surtout recherche d'objets et
open data ne sont qu'au début d'une certaine croissance. Il suffit de constater le
nombre de projets, d'articles et de conférences sur le sujet pour comprendre
qu'un phénomène est en train d'émerger. Le Web n'est, aujourd'hui, certainement
pas exploité à son maximum. Cependant, il faut faire attention car la quantité
d'informations est telle qu'il serait très facile de s'y perdre. Les futurs outils
développés devront traiter une quantité inestimable de données

17

Vous aimerez peut-être aussi