SlideShare une entreprise Scribd logo
Présenté par :
NABIL Anass
BENABDELKADER Marouane
Université Sultan Moulay Slimane
École Supérieure de technologie – Fkih Ben Salah
LP BIG DATA
Année universitaire : 2023-2024
Web Scraping / Data Scraping
Encadré par :
Prof Rachid AIT DAOUD
Plan
I. Web Scraping : Définition
II. Pourquoi Web Scraping ?
III. Le processus de Web Scraping
IV. Outils de Web Scraping
V. Beautiful Soup
VI. Protection contre le web scraping
VII.Exemple Web Scraping
VIII.L’aspect éthérique et juridiques du Web Scraping
2
Definition
● Le web scraping, également connu sous le nom de data scraping, est le processus d'extraction et de
collecte de données sur Internet ou des sites Web. Les données récupérées peuvent être enregistrées sur un
système local ou peuvent être utilisées pour l'analyse des données.
● Une fois les données extraites et stockées, elles peuvent être utilisées de plusieurs manières. Par exemple,
pour trouver des informations de contact ou comparer des prix sur différents sites web.
3
Definition
● Le web-scraping permet de collecter des données :
○ Automatiquement : Des outils spécialisés naviguent et récupèrent les informations sans intervention
humaine, réduisant les erreurs et augmentant l'efficacité.
○ Rapidement : Cette automatisation permet de traiter des pages web à une vitesse bien supérieure à
celle d'une personne, ce qui est crucial pour les tâches où le temps est un facteur déterminant.
○ En grande quantité : Capable de gérer des volumes de données massifs, le web scraping est idéal pour
les projets nécessitant de grandes quantités d'informations, telles que l'analyse de marché
4
Pourquoi web Scraping
1. Comparaison des prix des produits :Les sites web de comparaison de prix
peuvent utiliser le web scraping pour extraire des données de différents sites de
vente en ligne et afficher les résultats aux utilisateurs
2. Données d'IA et d'apprentissage automatique : Le web scraping pour
l'apprentissage automatique aide les data scientists à collecter les informations
requises pour alimenter leurs ensembles de données.
3. Développement d'applications : Les développeurs peuvent utiliser le web
scraping pour intégrer des données provenant de différentes sources dans leurs
applications.
4. Analyse de marché :Les professionnels du marketing et les entreprises peuvent
utiliser le web scraping pour recueillir des données sur les tendances du marché,
les préférences des consommateurs et d'autres informations pertinentes.
5
Pourquoi web Scraping
4. Surveillance du sentiment des consommateurs
5. Mise à jour de contenu : Certains sites web peuvent utiliser le web
scraping pour mettre à jour automatiquement leur contenu en récupérant
des informations à partir de sources externes.
6
7
Industrie de Web Scraping
● Dans le meilleur des cas, le
web scraping sert à de
nombreuses fins utiles dans
de nombreux secteurs.
● En 2021, près de la moitié
de l’ensemble de
l’extraction web est utilisé
pour soutenir les stratégies
de commerce électronique.
● E-commerce
● Offres de travail
8
Most scraped Websites
● Réseaux Sociaux
Processus de base du web scraping
1. Identification de la cible : Identifiez les pages spécifiques ou les sections du site
contenant les données que vous souhaitez extraire.
2. Analyse de la structure du site : Identifiez les balises HTML, les classes, les
identifiants et les modèles qui entourent les données que vous souhaitez extraire.
3. Sélection de l'outil de scraping :Utilisez les bibliothèques de scraping pour
naviguer à travers la structure HTML du site et extraire les informations
nécessaires.
4. Exécution du script de scraping : Écrivez un script pour accéder au site web et
extraire les données souhaitées, puis lancez le script pour collecter les données à
partir du site web cible.
5. Stockage des données : stocker les données extraites dans un fichier local, une
base de données, ou même un service de stockage cloud.
9
Analyse de la structure du site
● Dans le code HTML d’une page web, les informations sont associées à différents
types de balises :
○ title renseigne le titre de la page
○ h1 à h6 composent les titres et sous-titres du contenu
○ img est une balise associée aux images
○ a permet d’insérer un lien hypertexte
○ table est la balise associée aux tableaux
○ span et div sont des balises génériques qui peuvent être associées à une
classe spécifique (ce qui permet de rendre la balise unique).
10
Pouvez-vous extraire tous les sites
Web ?
Le scraping entraîne une augmentation du trafic sur le site Web et
peut provoquer une panne du serveur du site Web.
Ainsi, tous les sites Web ne permettent pas aux utilisateurs
d’extraite leurs données.
Comment savoir quels sites Web sont autorisés ou non ?
Robots.txt
● Vous pouvez consulter le fichier
« robots.txt » du site Web.
● Il vous suffit de mettre robots.txt après
l'URL que vous souhaitez récupérer et
vous verrez des informations indiquant
si l'hébergeur du site Web vous autorise
à supprimer le site Web.
● Prenons Google.com comme exemple :
12
Vous pouvez voir que Google
n'autorise pas le web scraping
pour bon nombre de ses sous-
sites. Cependant, il autorise
certains chemins comme «
/m/finance » et donc si vous
souhaitez collecter des
informations sur la finance,
c'est un endroit tout à fait légal
à gratter.
L’aspect éthérique et juridiques du Web
Scraping
● Consentement : Le scraping de sites web sans
consentement peut violer les termes et conditions
de ces sites, ce qui pose des questions d'éthique
sur le respect de la propriété et des règles établies
par les propriétaires de sites web.
● Respect de la vie privée : La collecte de données
personnelles sans consentement des individus
peut enfreindre les lois sur la protection de la vie
privée, comme le Règlement général sur la
protection des données (RGPD) en Europe.
13
L’aspect éthérique et juridiques du Web
Scraping
● Charge sur les ressources : Un scraping intensif peut surcharger les serveurs
des sites web, affectant potentiellement leur fonctionnement et leur accessibilité
pour les autres utilisateurs.
● Utilisation des données : L'utilisation des données collectées pour des fins
malveillantes, comme le spamming ou la concurrence déloyale, est également
un aspect critique.
● Propriété intellectuelle : Le contenu des sites web peut être protégé par des
droits d'auteur, et sa réutilisation sans autorisation peut constituer une infraction.
14
Avantages de web scraping
● Gain de temps : Lorsque vous utilisez le web scraping, vous n'avez pas besoin de
collecter manuellement les données des sites Web et vous pouvez rapidement
supprimer plusieurs sites Web en même temps.
● Données à grande échelle : le Web scraping vous fournit des données dans un
volume bien supérieur à celui que vous pourriez jamais collecter manuellement.
● Rentable : un simple grattoir peut souvent faire l'affaire, vous n'avez donc pas besoin
d'investir dans des systèmes complexes ou du personnel supplémentaire
● Modifiable : créez un grattoir pour une tâche et vous pouvez souvent le modifier pour
une tâche différente en n'apportant que de petites modifications.
● Précis et robuste : configurez correctement votre scraper et il collectera avec
précision les données directement à partir des sites Web, avec un très faible risque
d'introduction d'erreurs.
15
Outils de Web Scraping
16
● Beautiful Soup : Une bibliothèque Python qui facilite l'extraction
d'informations à partir de fichiers HTML et XML. Elle est souvent utilisée
conjointement avec la bibliothèque requests pour effectuer des requêtes
HTTP.
● Requests : Bien que principalement une bibliothèque Python pour effectuer
des requêtes HTTP, elle est souvent utilisée en conjonction avec Beautiful
Soup pour extraire des données de pages web.
● Scrapy : Un framework Python open source dédié au web scraping. Il offre
une architecture robuste pour le scraping de sites web de manière structurée
et extensible.
● Selenium : Une suite d'outils pour automatiser les navigateurs web. Il est
souvent utilisé pour le scraping de sites web qui utilisent JavaScript pour
générer leur contenu, car il permet de simuler l'interaction avec un
navigateur.
17
Outils de Web Scraping
● Octoparse : Octoparse est un logiciel de web scraping, qui permet
d’extraire un volume important de données sur le web. Cet outil no
code offre la possibilité de transformer les pages web en feuilles de
calcul structurées, sans avoir besoin de connaissance technique.
● ParseHub : ParseHub est un outil de web scraping permettant aux
professionnels d’extraire des données, même complexes, à partir de
pages web, sans avoir besoin de savoir coder. Les données sont
collectées à partir de l’interface desktop et exportées dans des feuilles
de calcul structurées.
● ParseHub et Octoparse sont deux outils similaires dans le sens où ils
sont tous deux des plateformes de web scraping visuel, permettant
aux utilisateurs d'extraire des données à partir de sites web sans
nécessiter de compétences avancées en programmation.
18
Outils de Web Scraping
Les basiques Beautiful Soup
1. Récupérer la page web
2. Analyser le contenu HTML : Utilisez BeautifulSoup pour analyser le
contenu HTML de la page.
3. Trouver les éléments cibles : Utilisez les méthodes de BeautifulSoup pour
trouver les éléments HTML que vous souhaitez extraire.
19
Les basiques Beautiful Soup
● Si vous n’avez pas besoin de l’élément complet, mais seulement du texte, vous
pouvez également le faire avec get_text():
20
résultat
résultat
● Et si vous n’avez besoin que de l’attribut d’un élément ? Aucun
problème :
21
22
Protection contre le web scraping
● Blocage des adresses IP : De
nombreux hébergeurs web gardent
la trace des adresses IP de leurs
visiteurs. Si un hébergeur remarque
qu’un visiteur particulier génère de
nombreuses requêtes de serveur
(comme dans le cas de certains
extracteurs de sites web ou robots),
il peut alors bloquer entièrement
l’IP.
23
Protection contre le web scraping
● Configuration de robots.txt : Un
fichier robots.txt permet à un
hébergeur web d’indiquer aux
extracteurs, aux analyseurs et aux
autres robots ce à quoi ils peuvent
ou non accéder. Par exemple,
certains sites web utilisent un
fichier robots.txt pour rester privés
en indiquant aux moteurs de
recherche de ne pas les indexer. Si
la plupart des moteurs de recherche
respectent ces fichiers, ce n’est pas
le cas de nombreuses formes
malveillantes d’extracteurs web.
24
Protection contre le web scraping
● Filtrage des requêtes : Lorsqu’une
personne visite un site web, elle «
demande » une page HTML au
serveur web. Ces requêtes sont
souvent visibles pour les
hébergeurs web, qui peuvent voir
certains facteurs d’identification
tels que les adresses IP et les agents
utilisateurs comme les navigateurs
web. Nous avons déjà abordé le
blocage des IP, mais les hébergeurs
web peuvent également filtrer par
agent utilisateur.
25
Protection contre le web scraping
• Afficher un Captcha : Avez-vous
déjà dû saisir une étrange chaîne de
texte ou cliquer sur au moins six
voiliers avant d’accéder à une page
? Alors vous avez rencontré
un Captcha. Bien qu’ils soient
simples, ils sont incroyablement
efficaces pour filtrer les extracteurs
web et autres robots.
26
Protection contre le web scraping
• Honeypots : Un honeypot ou pot de
miel est un type de piège utilisé
pour attirer et identifier les visiteurs
indésirables. Dans le cas des
extracteurs web, un hébergeur web
peut inclure des liens invisibles sur
sa page web. Les utilisateurs
humains ne s’en apercevront pas,
mais les robots les visiteront
automatiquement en les faisant
défiler, ce qui permettra aux
hébergeurs web de collecter (et de
bloquer) leurs adresses IP ou leurs
agents utilisateurs.
27
https://books.toscrape.com/
28
● C'est un endroit sûr pour les débutants qui apprennent le web scraping et pour les
développeurs qui valident également leurs technologies de scraping.
Grandes lignes du projet
● Nous allons récupérer les informations suivantes sur notre site
https://books.toscrape.com/
○ Les titres de livres
○ Les prix
○ La disponibilité des stocks
○ Lien pour obtenir chaque livre
● Après avoir collecté les informations, nous allons les stocker dans un
cadre de données Pandas et les convertir en fichier CSV pour un accès
facile et une analyse plus approfondie.
29
Partie
Pratique
30
isoler les éléments qui nous intéressent
31
Utilisez BeautifulSoup pour analyser et extraire
les informations
32
Utilisation de l’élément Inspect pour obtenir
l’emplacement des informations nécessaires.
● get_book_titles récupère le texte d'une balise dans la balise h3.
33
Récupérer les titres de livres
34
Récupérer les prix de livres
35
La disponibilité des stocks
36
Récupérer des liens pour chaque livre
37
Collecte de données à partir de plusieurs pages
● Dans cette section, nous allons créer une fonction pour collecter les
informations de plusieurs pages.
● L'image montre les cinq premières pages, à partir desquelles nos
informations doivent être récupérées.
38
https://books.toscrape.com/catalogue/page-1.html https://books.toscrape.com/catalogue/page-2.html https://books.toscrape.com/catalogue/page-3.html
https://books.toscrape.com/catalogue/page-4.html https://books.toscrape.com/catalogue/page-5.html
39
Merci de
Votre Attention

Contenu connexe

Tendances (20)

Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2
Amal Abid
 
Chapitre3 gestion projet
Chapitre3 gestion projetChapitre3 gestion projet
Chapitre3 gestion projet
Aziz Baataoui
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
Amal Abid
 
BigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceBigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-Reduce
Lilia Sfaxi
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatique
Oussama Yoshiki
 
Data Mining (Partie 1).pdf
Data Mining (Partie 1).pdfData Mining (Partie 1).pdf
Data Mining (Partie 1).pdf
OuailChoukhairi
 
BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : Cassandra
Lilia Sfaxi
 
Intégration des données avec Talend ETL
Intégration des données avec Talend ETLIntégration des données avec Talend ETL
Intégration des données avec Talend ETL
Lilia Sfaxi
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
Heithem Abbes
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
Lilia Sfaxi
 
Introduction au BIG DATA
Introduction au BIG DATAIntroduction au BIG DATA
Introduction au BIG DATA
Zakariyaa AIT ELMOUDEN
 
Technologies pour le Big Data
Technologies pour le Big DataTechnologies pour le Big Data
Technologies pour le Big Data
Minyar Sassi Hidri
 
Chapitre1 introduction
Chapitre1 introductionChapitre1 introduction
Chapitre1 introduction
Mouna Torjmen
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratique
Abdelouahed Abdou
 
Big data - Cours d'introduction l Data-business
Big data - Cours d'introduction l Data-businessBig data - Cours d'introduction l Data-business
Big data - Cours d'introduction l Data-business
Vincent de Stoecklin
 
Présentation de mon PFE
Présentation de mon PFEPrésentation de mon PFE
Présentation de mon PFE
Nadir Haouari
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
Lilia Sfaxi
 
Rapport pfe isi_Big data Analytique
Rapport pfe isi_Big data AnalytiqueRapport pfe isi_Big data Analytique
Rapport pfe isi_Big data Analytique
Yosra ADDALI
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1
Amal Abid
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2
Amal Abid
 
Chapitre3 gestion projet
Chapitre3 gestion projetChapitre3 gestion projet
Chapitre3 gestion projet
Aziz Baataoui
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
Amal Abid
 
BigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceBigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-Reduce
Lilia Sfaxi
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatique
Oussama Yoshiki
 
Data Mining (Partie 1).pdf
Data Mining (Partie 1).pdfData Mining (Partie 1).pdf
Data Mining (Partie 1).pdf
OuailChoukhairi
 
BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : Cassandra
Lilia Sfaxi
 
Intégration des données avec Talend ETL
Intégration des données avec Talend ETLIntégration des données avec Talend ETL
Intégration des données avec Talend ETL
Lilia Sfaxi
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
Heithem Abbes
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
Lilia Sfaxi
 
Chapitre1 introduction
Chapitre1 introductionChapitre1 introduction
Chapitre1 introduction
Mouna Torjmen
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratique
Abdelouahed Abdou
 
Big data - Cours d'introduction l Data-business
Big data - Cours d'introduction l Data-businessBig data - Cours d'introduction l Data-business
Big data - Cours d'introduction l Data-business
Vincent de Stoecklin
 
Présentation de mon PFE
Présentation de mon PFEPrésentation de mon PFE
Présentation de mon PFE
Nadir Haouari
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
Lilia Sfaxi
 
Rapport pfe isi_Big data Analytique
Rapport pfe isi_Big data AnalytiqueRapport pfe isi_Big data Analytique
Rapport pfe isi_Big data Analytique
Yosra ADDALI
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1
Amal Abid
 

Similaire à WEB SCRAPING.pdf (20)

Football Statistics.pdf
Football Statistics.pdfFootball Statistics.pdf
Football Statistics.pdf
Anass Nabil
 
Web scraping avec r
Web scraping avec rWeb scraping avec r
Web scraping avec r
Folly KOUGBAGAN
 
Web scraping avec r
Web scraping avec rWeb scraping avec r
Web scraping avec r
Folly KOUGBAGAN
 
Web Scraping definition steps and goals
Web Scraping  definition steps and goalsWeb Scraping  definition steps and goals
Web Scraping definition steps and goals
RimaDaqch
 
trucs_PFT_WEB_SCRAP_190411.pdf
trucs_PFT_WEB_SCRAP_190411.pdftrucs_PFT_WEB_SCRAP_190411.pdf
trucs_PFT_WEB_SCRAP_190411.pdf
HodaMzo
 
Le b.a.-ba du web scraping
Le b.a.-ba du web scrapingLe b.a.-ba du web scraping
Le b.a.-ba du web scraping
Alexandre Gindre
 
Christophe Tricot et Raphaël Velt (infoviz)
Christophe Tricot et Raphaël Velt (infoviz)Christophe Tricot et Raphaël Velt (infoviz)
Christophe Tricot et Raphaël Velt (infoviz)
Meetup "Les Rencontres du Web de données"
 
Se rendre visible sur le web mobile avec le seo
Se rendre visible sur le web mobile avec le seoSe rendre visible sur le web mobile avec le seo
Se rendre visible sur le web mobile avec le seo
Marref Imen
 
Programmer en html5, css 3 et java script (70 480)
Programmer en html5, css 3 et java script (70 480)Programmer en html5, css 3 et java script (70 480)
Programmer en html5, css 3 et java script (70 480)
Chamseddine Ouerhani
 
La caisse à outils de la visualisation d'informations
La caisse à outils de la visualisation d'informationsLa caisse à outils de la visualisation d'informations
La caisse à outils de la visualisation d'informations
ChristopheTricot
 
IOT-1.pdf
IOT-1.pdfIOT-1.pdf
IOT-1.pdf
ssuser20f32c
 
La data science au service du consultant SEO | SEO Campus 2023
La data science au service du consultant SEO | SEO Campus 2023La data science au service du consultant SEO | SEO Campus 2023
La data science au service du consultant SEO | SEO Campus 2023
Grégory Florin
 
Seo 10 clés pour plaire à Google
Seo   10 clés pour plaire à GoogleSeo   10 clés pour plaire à Google
Seo 10 clés pour plaire à Google
Keyweo
 
Lesclsdevotrestratgieebusinesslinternational 131209074509-phpapp02
Lesclsdevotrestratgieebusinesslinternational 131209074509-phpapp02Lesclsdevotrestratgieebusinesslinternational 131209074509-phpapp02
Lesclsdevotrestratgieebusinesslinternational 131209074509-phpapp02
Thierry Pastorello
 
Angular développer des applications .pdf
Angular développer des applications .pdfAngular développer des applications .pdf
Angular développer des applications .pdf
imenhamada17
 
Construire un data lake managé - GDG Paris - Juin 2019
Construire un data lake managé - GDG Paris - Juin 2019Construire un data lake managé - GDG Paris - Juin 2019
Construire un data lake managé - GDG Paris - Juin 2019
Jean-Baptiste Claramonte
 
Kiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internetKiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internet
Devclic
 
Cv khouloud dhouib
Cv khouloud dhouibCv khouloud dhouib
Cv khouloud dhouib
khoulouddhouib
 
Utilisation avancée d'un crawler - SEO Camp'us 2015
Utilisation avancée d'un crawler - SEO Camp'us 2015Utilisation avancée d'un crawler - SEO Camp'us 2015
Utilisation avancée d'un crawler - SEO Camp'us 2015
Philippe YONNET
 
Football Statistics.pdf
Football Statistics.pdfFootball Statistics.pdf
Football Statistics.pdf
Anass Nabil
 
Web Scraping definition steps and goals
Web Scraping  definition steps and goalsWeb Scraping  definition steps and goals
Web Scraping definition steps and goals
RimaDaqch
 
trucs_PFT_WEB_SCRAP_190411.pdf
trucs_PFT_WEB_SCRAP_190411.pdftrucs_PFT_WEB_SCRAP_190411.pdf
trucs_PFT_WEB_SCRAP_190411.pdf
HodaMzo
 
Le b.a.-ba du web scraping
Le b.a.-ba du web scrapingLe b.a.-ba du web scraping
Le b.a.-ba du web scraping
Alexandre Gindre
 
Se rendre visible sur le web mobile avec le seo
Se rendre visible sur le web mobile avec le seoSe rendre visible sur le web mobile avec le seo
Se rendre visible sur le web mobile avec le seo
Marref Imen
 
Programmer en html5, css 3 et java script (70 480)
Programmer en html5, css 3 et java script (70 480)Programmer en html5, css 3 et java script (70 480)
Programmer en html5, css 3 et java script (70 480)
Chamseddine Ouerhani
 
La caisse à outils de la visualisation d'informations
La caisse à outils de la visualisation d'informationsLa caisse à outils de la visualisation d'informations
La caisse à outils de la visualisation d'informations
ChristopheTricot
 
La data science au service du consultant SEO | SEO Campus 2023
La data science au service du consultant SEO | SEO Campus 2023La data science au service du consultant SEO | SEO Campus 2023
La data science au service du consultant SEO | SEO Campus 2023
Grégory Florin
 
Seo 10 clés pour plaire à Google
Seo   10 clés pour plaire à GoogleSeo   10 clés pour plaire à Google
Seo 10 clés pour plaire à Google
Keyweo
 
Lesclsdevotrestratgieebusinesslinternational 131209074509-phpapp02
Lesclsdevotrestratgieebusinesslinternational 131209074509-phpapp02Lesclsdevotrestratgieebusinesslinternational 131209074509-phpapp02
Lesclsdevotrestratgieebusinesslinternational 131209074509-phpapp02
Thierry Pastorello
 
Angular développer des applications .pdf
Angular développer des applications .pdfAngular développer des applications .pdf
Angular développer des applications .pdf
imenhamada17
 
Construire un data lake managé - GDG Paris - Juin 2019
Construire un data lake managé - GDG Paris - Juin 2019Construire un data lake managé - GDG Paris - Juin 2019
Construire un data lake managé - GDG Paris - Juin 2019
Jean-Baptiste Claramonte
 
Kiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internetKiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internet
Devclic
 
Utilisation avancée d'un crawler - SEO Camp'us 2015
Utilisation avancée d'un crawler - SEO Camp'us 2015Utilisation avancée d'un crawler - SEO Camp'us 2015
Utilisation avancée d'un crawler - SEO Camp'us 2015
Philippe YONNET
 

Dernier (12)

Presentation de la formation éoliennes p
Presentation de la formation éoliennes pPresentation de la formation éoliennes p
Presentation de la formation éoliennes p
chaimathzinsou
 
Veille technologique portant sur les objets connectés
Veille technologique portant sur les objets connectésVeille technologique portant sur les objets connectés
Veille technologique portant sur les objets connectés
wiemhmem
 
Imprimer le vivant : de l’impression à la biologie
Imprimer le vivant : de l’impression à la biologieImprimer le vivant : de l’impression à la biologie
Imprimer le vivant : de l’impression à la biologie
ArchivesdeLyon
 
ChatBot : Intelligence Artificielle et Automatisation de l’Interaction Utilis...
ChatBot : Intelligence Artificielle et Automatisation de l’Interaction Utilis...ChatBot : Intelligence Artificielle et Automatisation de l’Interaction Utilis...
ChatBot : Intelligence Artificielle et Automatisation de l’Interaction Utilis...
hoktechco
 
2025-03-06 - meetup cloudnative-aix-marseille
2025-03-06 - meetup cloudnative-aix-marseille2025-03-06 - meetup cloudnative-aix-marseille
2025-03-06 - meetup cloudnative-aix-marseille
Frederic Leger
 
Onopia - 30 jours pour intégrer l’IA Générative dans votre quotidien pro.pdf
Onopia - 30 jours pour intégrer l’IA Générative dans votre quotidien pro.pdfOnopia - 30 jours pour intégrer l’IA Générative dans votre quotidien pro.pdf
Onopia - 30 jours pour intégrer l’IA Générative dans votre quotidien pro.pdf
Onopia - Driving Growth Through Disruptive Strategy
 
Darknet internet hacker un ensemble de réseaux et de technologies utilisés p...
Darknet internet hacker  un ensemble de réseaux et de technologies utilisés p...Darknet internet hacker  un ensemble de réseaux et de technologies utilisés p...
Darknet internet hacker un ensemble de réseaux et de technologies utilisés p...
YouYou124897
 
Managers Interviews - Data, IA et Humanité-compressed.pdf
Managers Interviews - Data, IA et Humanité-compressed.pdfManagers Interviews - Data, IA et Humanité-compressed.pdf
Managers Interviews - Data, IA et Humanité-compressed.pdf
ELYADATA
 
Les métiers dans l'Intelligence Artificielle c'est un domaine en pleine expan...
Les métiers dans l'Intelligence Artificielle c'est un domaine en pleine expan...Les métiers dans l'Intelligence Artificielle c'est un domaine en pleine expan...
Les métiers dans l'Intelligence Artificielle c'est un domaine en pleine expan...
Erol GIRAUDY
 
8 Femmes ayant marqué l'évolution de l'Intelligence Artificielle | Forcinet
8 Femmes ayant marqué l'évolution de l'Intelligence Artificielle | Forcinet8 Femmes ayant marqué l'évolution de l'Intelligence Artificielle | Forcinet
8 Femmes ayant marqué l'évolution de l'Intelligence Artificielle | Forcinet
FORCINET
 
Mise en place d’un cluster Hadoop et lancement d’un premier job MapReduce
Mise en place d’un cluster Hadoop et lancement d’un premier job MapReduceMise en place d’un cluster Hadoop et lancement d’un premier job MapReduce
Mise en place d’un cluster Hadoop et lancement d’un premier job MapReduce
Anass Nabil
 
cours ROBOTIQUE ET INTELIGENE ARTIFICIEL
cours ROBOTIQUE ET INTELIGENE ARTIFICIELcours ROBOTIQUE ET INTELIGENE ARTIFICIEL
cours ROBOTIQUE ET INTELIGENE ARTIFICIEL
MrabtMed
 
Presentation de la formation éoliennes p
Presentation de la formation éoliennes pPresentation de la formation éoliennes p
Presentation de la formation éoliennes p
chaimathzinsou
 
Veille technologique portant sur les objets connectés
Veille technologique portant sur les objets connectésVeille technologique portant sur les objets connectés
Veille technologique portant sur les objets connectés
wiemhmem
 
Imprimer le vivant : de l’impression à la biologie
Imprimer le vivant : de l’impression à la biologieImprimer le vivant : de l’impression à la biologie
Imprimer le vivant : de l’impression à la biologie
ArchivesdeLyon
 
ChatBot : Intelligence Artificielle et Automatisation de l’Interaction Utilis...
ChatBot : Intelligence Artificielle et Automatisation de l’Interaction Utilis...ChatBot : Intelligence Artificielle et Automatisation de l’Interaction Utilis...
ChatBot : Intelligence Artificielle et Automatisation de l’Interaction Utilis...
hoktechco
 
2025-03-06 - meetup cloudnative-aix-marseille
2025-03-06 - meetup cloudnative-aix-marseille2025-03-06 - meetup cloudnative-aix-marseille
2025-03-06 - meetup cloudnative-aix-marseille
Frederic Leger
 
Darknet internet hacker un ensemble de réseaux et de technologies utilisés p...
Darknet internet hacker  un ensemble de réseaux et de technologies utilisés p...Darknet internet hacker  un ensemble de réseaux et de technologies utilisés p...
Darknet internet hacker un ensemble de réseaux et de technologies utilisés p...
YouYou124897
 
Managers Interviews - Data, IA et Humanité-compressed.pdf
Managers Interviews - Data, IA et Humanité-compressed.pdfManagers Interviews - Data, IA et Humanité-compressed.pdf
Managers Interviews - Data, IA et Humanité-compressed.pdf
ELYADATA
 
Les métiers dans l'Intelligence Artificielle c'est un domaine en pleine expan...
Les métiers dans l'Intelligence Artificielle c'est un domaine en pleine expan...Les métiers dans l'Intelligence Artificielle c'est un domaine en pleine expan...
Les métiers dans l'Intelligence Artificielle c'est un domaine en pleine expan...
Erol GIRAUDY
 
8 Femmes ayant marqué l'évolution de l'Intelligence Artificielle | Forcinet
8 Femmes ayant marqué l'évolution de l'Intelligence Artificielle | Forcinet8 Femmes ayant marqué l'évolution de l'Intelligence Artificielle | Forcinet
8 Femmes ayant marqué l'évolution de l'Intelligence Artificielle | Forcinet
FORCINET
 
Mise en place d’un cluster Hadoop et lancement d’un premier job MapReduce
Mise en place d’un cluster Hadoop et lancement d’un premier job MapReduceMise en place d’un cluster Hadoop et lancement d’un premier job MapReduce
Mise en place d’un cluster Hadoop et lancement d’un premier job MapReduce
Anass Nabil
 
cours ROBOTIQUE ET INTELIGENE ARTIFICIEL
cours ROBOTIQUE ET INTELIGENE ARTIFICIELcours ROBOTIQUE ET INTELIGENE ARTIFICIEL
cours ROBOTIQUE ET INTELIGENE ARTIFICIEL
MrabtMed
 

WEB SCRAPING.pdf

  • 1. Présenté par : NABIL Anass BENABDELKADER Marouane Université Sultan Moulay Slimane École Supérieure de technologie – Fkih Ben Salah LP BIG DATA Année universitaire : 2023-2024 Web Scraping / Data Scraping Encadré par : Prof Rachid AIT DAOUD
  • 2. Plan I. Web Scraping : Définition II. Pourquoi Web Scraping ? III. Le processus de Web Scraping IV. Outils de Web Scraping V. Beautiful Soup VI. Protection contre le web scraping VII.Exemple Web Scraping VIII.L’aspect éthérique et juridiques du Web Scraping 2
  • 3. Definition ● Le web scraping, également connu sous le nom de data scraping, est le processus d'extraction et de collecte de données sur Internet ou des sites Web. Les données récupérées peuvent être enregistrées sur un système local ou peuvent être utilisées pour l'analyse des données. ● Une fois les données extraites et stockées, elles peuvent être utilisées de plusieurs manières. Par exemple, pour trouver des informations de contact ou comparer des prix sur différents sites web. 3
  • 4. Definition ● Le web-scraping permet de collecter des données : ○ Automatiquement : Des outils spécialisés naviguent et récupèrent les informations sans intervention humaine, réduisant les erreurs et augmentant l'efficacité. ○ Rapidement : Cette automatisation permet de traiter des pages web à une vitesse bien supérieure à celle d'une personne, ce qui est crucial pour les tâches où le temps est un facteur déterminant. ○ En grande quantité : Capable de gérer des volumes de données massifs, le web scraping est idéal pour les projets nécessitant de grandes quantités d'informations, telles que l'analyse de marché 4
  • 5. Pourquoi web Scraping 1. Comparaison des prix des produits :Les sites web de comparaison de prix peuvent utiliser le web scraping pour extraire des données de différents sites de vente en ligne et afficher les résultats aux utilisateurs 2. Données d'IA et d'apprentissage automatique : Le web scraping pour l'apprentissage automatique aide les data scientists à collecter les informations requises pour alimenter leurs ensembles de données. 3. Développement d'applications : Les développeurs peuvent utiliser le web scraping pour intégrer des données provenant de différentes sources dans leurs applications. 4. Analyse de marché :Les professionnels du marketing et les entreprises peuvent utiliser le web scraping pour recueillir des données sur les tendances du marché, les préférences des consommateurs et d'autres informations pertinentes. 5
  • 6. Pourquoi web Scraping 4. Surveillance du sentiment des consommateurs 5. Mise à jour de contenu : Certains sites web peuvent utiliser le web scraping pour mettre à jour automatiquement leur contenu en récupérant des informations à partir de sources externes. 6
  • 7. 7 Industrie de Web Scraping ● Dans le meilleur des cas, le web scraping sert à de nombreuses fins utiles dans de nombreux secteurs. ● En 2021, près de la moitié de l’ensemble de l’extraction web est utilisé pour soutenir les stratégies de commerce électronique.
  • 8. ● E-commerce ● Offres de travail 8 Most scraped Websites ● Réseaux Sociaux
  • 9. Processus de base du web scraping 1. Identification de la cible : Identifiez les pages spécifiques ou les sections du site contenant les données que vous souhaitez extraire. 2. Analyse de la structure du site : Identifiez les balises HTML, les classes, les identifiants et les modèles qui entourent les données que vous souhaitez extraire. 3. Sélection de l'outil de scraping :Utilisez les bibliothèques de scraping pour naviguer à travers la structure HTML du site et extraire les informations nécessaires. 4. Exécution du script de scraping : Écrivez un script pour accéder au site web et extraire les données souhaitées, puis lancez le script pour collecter les données à partir du site web cible. 5. Stockage des données : stocker les données extraites dans un fichier local, une base de données, ou même un service de stockage cloud. 9
  • 10. Analyse de la structure du site ● Dans le code HTML d’une page web, les informations sont associées à différents types de balises : ○ title renseigne le titre de la page ○ h1 à h6 composent les titres et sous-titres du contenu ○ img est une balise associée aux images ○ a permet d’insérer un lien hypertexte ○ table est la balise associée aux tableaux ○ span et div sont des balises génériques qui peuvent être associées à une classe spécifique (ce qui permet de rendre la balise unique). 10
  • 11. Pouvez-vous extraire tous les sites Web ? Le scraping entraîne une augmentation du trafic sur le site Web et peut provoquer une panne du serveur du site Web. Ainsi, tous les sites Web ne permettent pas aux utilisateurs d’extraite leurs données. Comment savoir quels sites Web sont autorisés ou non ?
  • 12. Robots.txt ● Vous pouvez consulter le fichier « robots.txt » du site Web. ● Il vous suffit de mettre robots.txt après l'URL que vous souhaitez récupérer et vous verrez des informations indiquant si l'hébergeur du site Web vous autorise à supprimer le site Web. ● Prenons Google.com comme exemple : 12 Vous pouvez voir que Google n'autorise pas le web scraping pour bon nombre de ses sous- sites. Cependant, il autorise certains chemins comme « /m/finance » et donc si vous souhaitez collecter des informations sur la finance, c'est un endroit tout à fait légal à gratter.
  • 13. L’aspect éthérique et juridiques du Web Scraping ● Consentement : Le scraping de sites web sans consentement peut violer les termes et conditions de ces sites, ce qui pose des questions d'éthique sur le respect de la propriété et des règles établies par les propriétaires de sites web. ● Respect de la vie privée : La collecte de données personnelles sans consentement des individus peut enfreindre les lois sur la protection de la vie privée, comme le Règlement général sur la protection des données (RGPD) en Europe. 13
  • 14. L’aspect éthérique et juridiques du Web Scraping ● Charge sur les ressources : Un scraping intensif peut surcharger les serveurs des sites web, affectant potentiellement leur fonctionnement et leur accessibilité pour les autres utilisateurs. ● Utilisation des données : L'utilisation des données collectées pour des fins malveillantes, comme le spamming ou la concurrence déloyale, est également un aspect critique. ● Propriété intellectuelle : Le contenu des sites web peut être protégé par des droits d'auteur, et sa réutilisation sans autorisation peut constituer une infraction. 14
  • 15. Avantages de web scraping ● Gain de temps : Lorsque vous utilisez le web scraping, vous n'avez pas besoin de collecter manuellement les données des sites Web et vous pouvez rapidement supprimer plusieurs sites Web en même temps. ● Données à grande échelle : le Web scraping vous fournit des données dans un volume bien supérieur à celui que vous pourriez jamais collecter manuellement. ● Rentable : un simple grattoir peut souvent faire l'affaire, vous n'avez donc pas besoin d'investir dans des systèmes complexes ou du personnel supplémentaire ● Modifiable : créez un grattoir pour une tâche et vous pouvez souvent le modifier pour une tâche différente en n'apportant que de petites modifications. ● Précis et robuste : configurez correctement votre scraper et il collectera avec précision les données directement à partir des sites Web, avec un très faible risque d'introduction d'erreurs. 15
  • 16. Outils de Web Scraping 16
  • 17. ● Beautiful Soup : Une bibliothèque Python qui facilite l'extraction d'informations à partir de fichiers HTML et XML. Elle est souvent utilisée conjointement avec la bibliothèque requests pour effectuer des requêtes HTTP. ● Requests : Bien que principalement une bibliothèque Python pour effectuer des requêtes HTTP, elle est souvent utilisée en conjonction avec Beautiful Soup pour extraire des données de pages web. ● Scrapy : Un framework Python open source dédié au web scraping. Il offre une architecture robuste pour le scraping de sites web de manière structurée et extensible. ● Selenium : Une suite d'outils pour automatiser les navigateurs web. Il est souvent utilisé pour le scraping de sites web qui utilisent JavaScript pour générer leur contenu, car il permet de simuler l'interaction avec un navigateur. 17 Outils de Web Scraping
  • 18. ● Octoparse : Octoparse est un logiciel de web scraping, qui permet d’extraire un volume important de données sur le web. Cet outil no code offre la possibilité de transformer les pages web en feuilles de calcul structurées, sans avoir besoin de connaissance technique. ● ParseHub : ParseHub est un outil de web scraping permettant aux professionnels d’extraire des données, même complexes, à partir de pages web, sans avoir besoin de savoir coder. Les données sont collectées à partir de l’interface desktop et exportées dans des feuilles de calcul structurées. ● ParseHub et Octoparse sont deux outils similaires dans le sens où ils sont tous deux des plateformes de web scraping visuel, permettant aux utilisateurs d'extraire des données à partir de sites web sans nécessiter de compétences avancées en programmation. 18 Outils de Web Scraping
  • 19. Les basiques Beautiful Soup 1. Récupérer la page web 2. Analyser le contenu HTML : Utilisez BeautifulSoup pour analyser le contenu HTML de la page. 3. Trouver les éléments cibles : Utilisez les méthodes de BeautifulSoup pour trouver les éléments HTML que vous souhaitez extraire. 19
  • 20. Les basiques Beautiful Soup ● Si vous n’avez pas besoin de l’élément complet, mais seulement du texte, vous pouvez également le faire avec get_text(): 20 résultat résultat
  • 21. ● Et si vous n’avez besoin que de l’attribut d’un élément ? Aucun problème : 21
  • 22. 22
  • 23. Protection contre le web scraping ● Blocage des adresses IP : De nombreux hébergeurs web gardent la trace des adresses IP de leurs visiteurs. Si un hébergeur remarque qu’un visiteur particulier génère de nombreuses requêtes de serveur (comme dans le cas de certains extracteurs de sites web ou robots), il peut alors bloquer entièrement l’IP. 23
  • 24. Protection contre le web scraping ● Configuration de robots.txt : Un fichier robots.txt permet à un hébergeur web d’indiquer aux extracteurs, aux analyseurs et aux autres robots ce à quoi ils peuvent ou non accéder. Par exemple, certains sites web utilisent un fichier robots.txt pour rester privés en indiquant aux moteurs de recherche de ne pas les indexer. Si la plupart des moteurs de recherche respectent ces fichiers, ce n’est pas le cas de nombreuses formes malveillantes d’extracteurs web. 24
  • 25. Protection contre le web scraping ● Filtrage des requêtes : Lorsqu’une personne visite un site web, elle « demande » une page HTML au serveur web. Ces requêtes sont souvent visibles pour les hébergeurs web, qui peuvent voir certains facteurs d’identification tels que les adresses IP et les agents utilisateurs comme les navigateurs web. Nous avons déjà abordé le blocage des IP, mais les hébergeurs web peuvent également filtrer par agent utilisateur. 25
  • 26. Protection contre le web scraping • Afficher un Captcha : Avez-vous déjà dû saisir une étrange chaîne de texte ou cliquer sur au moins six voiliers avant d’accéder à une page ? Alors vous avez rencontré un Captcha. Bien qu’ils soient simples, ils sont incroyablement efficaces pour filtrer les extracteurs web et autres robots. 26
  • 27. Protection contre le web scraping • Honeypots : Un honeypot ou pot de miel est un type de piège utilisé pour attirer et identifier les visiteurs indésirables. Dans le cas des extracteurs web, un hébergeur web peut inclure des liens invisibles sur sa page web. Les utilisateurs humains ne s’en apercevront pas, mais les robots les visiteront automatiquement en les faisant défiler, ce qui permettra aux hébergeurs web de collecter (et de bloquer) leurs adresses IP ou leurs agents utilisateurs. 27
  • 28. https://books.toscrape.com/ 28 ● C'est un endroit sûr pour les débutants qui apprennent le web scraping et pour les développeurs qui valident également leurs technologies de scraping.
  • 29. Grandes lignes du projet ● Nous allons récupérer les informations suivantes sur notre site https://books.toscrape.com/ ○ Les titres de livres ○ Les prix ○ La disponibilité des stocks ○ Lien pour obtenir chaque livre ● Après avoir collecté les informations, nous allons les stocker dans un cadre de données Pandas et les convertir en fichier CSV pour un accès facile et une analyse plus approfondie. 29
  • 31. isoler les éléments qui nous intéressent 31
  • 32. Utilisez BeautifulSoup pour analyser et extraire les informations 32
  • 33. Utilisation de l’élément Inspect pour obtenir l’emplacement des informations nécessaires. ● get_book_titles récupère le texte d'une balise dans la balise h3. 33
  • 34. Récupérer les titres de livres 34
  • 35. Récupérer les prix de livres 35
  • 37. Récupérer des liens pour chaque livre 37
  • 38. Collecte de données à partir de plusieurs pages ● Dans cette section, nous allons créer une fonction pour collecter les informations de plusieurs pages. ● L'image montre les cinq premières pages, à partir desquelles nos informations doivent être récupérées. 38 https://books.toscrape.com/catalogue/page-1.html https://books.toscrape.com/catalogue/page-2.html https://books.toscrape.com/catalogue/page-3.html https://books.toscrape.com/catalogue/page-4.html https://books.toscrape.com/catalogue/page-5.html
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy