SlideShare une entreprise Scribd logo
1  sur  10
1
Le b.a.-ba du web scraping
Alexandre Gindre
@alexgindre ou agi@octo.com
2
« Le web scraping est une technique d'extraction du contenu de sites
Web, via un script ou un programme, dans le but de le transformer pour
permettre son utilisation dans un autre contexte » (Wikipedia)
Une différenciation est faite entre le web scraping et le web crawling
Web crawling : récupérer toutes les informations d’un site
Ex: Google
Web scraping : récupérer un sous-ensemble des informations d’un site
Ex: comparateur de prix
Définition
http://stackoverflow.com/questions/4327392/what-is-the-difference-between-web-crawling-and-web-scraping
3
Ma vision d’architecture
WWW
Site cible
Proxy Scraper
Stockage
Retraitement
des données
4
On se réfère au droit d’auteur et au droit sur les bases de données
C’est encore assez flou !
Quelques jurisprudences sur le sujet
Ex: Ryanair contre OPODO
Il faut prendre en compte la charte d’utilisation/mentions légales du site
Ex: societe.com
Ne pas mettre en danger le bon fonctionnement du site visé
Faire attention à ne pas partir dans un DDOS !
Que dit la loi ?
5
De nombreux business sur le web scraping
Comparateur de
prix
Informations sur
des contacts
Analyse sociale Base de recherche
6
Des technologies variées
pjscrapeGrab
Selenium with Python
Beautiful Soup Wombat
7
Exemple
WWW
Polipo
HTML
PDF
XLS
DOC
8
Le navigateur masque la mauvaise structuration du HTML
Problème au niveau du parsing de la page
Les libs/outils peuvent automatiquement corriger le problème comme le browser
Le serveur du site bloque les user-agents non standard
Les outils comme Scrapy donne le user-agent Scrapy
Redéfinition du user-agent pour passer
Accepter les conséquences…
Le serveur du site bloque par l’IP
Utilisation d’un proxy pour changer l’IP de provenance des requêtes
Prévoir un pool d’IP
Service : hidemyass
A la main : TOR
Toutes les informations ne sont pas récupérées
Paramétrer au mieux le temps de passage du scraper
Mettre en place un système de watcher
Toutes les 5 mins ?
Eviter les doublons
Passer par des hash sur les données
Problèmes rencontrés (1/2)
9
Changement de la structure de la page cible
Mise à niveau à la main pour l’instant …
Les id et les class sont changeants
Xpath sur les tags html pour les changement d’id ou de class CSS
Reprise d’erreur sur le scraper
Gérer dans les outils comme Scrapy ou CasperJS
Sinon gestion à la main …
Problèmes rencontrés (2/2)
10
Questions ?
Conclusion

Contenu connexe

Similaire à Le b.a.-ba du web scraping

Optimisez la vitesse de chargement de votre site
Optimisez la vitesse de chargement de votre siteOptimisez la vitesse de chargement de votre site
Optimisez la vitesse de chargement de votre siteWebxFrance
 
Un site web rapide ?
Un site web rapide ? Un site web rapide ?
Un site web rapide ? haricot
 
WEB SCRAPING.pdf
WEB SCRAPING.pdfWEB SCRAPING.pdf
WEB SCRAPING.pdfAnass Nabil
 
trucs_PFT_WEB_SCRAP_190411.pdf
trucs_PFT_WEB_SCRAP_190411.pdftrucs_PFT_WEB_SCRAP_190411.pdf
trucs_PFT_WEB_SCRAP_190411.pdfHodaMzo
 
La mise en cache et ses secrets
La mise en cache et ses secretsLa mise en cache et ses secrets
La mise en cache et ses secretsAymeric Bouillat
 
Amélioration des performances eCommerce - Webinaire par aYaline
Amélioration des performances eCommerce - Webinaire par aYalineAmélioration des performances eCommerce - Webinaire par aYaline
Amélioration des performances eCommerce - Webinaire par aYalineaYaline
 
Une introduction à Javascript
Une introduction à JavascriptUne introduction à Javascript
Une introduction à JavascriptJean Michel
 
Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)Tugdual Grall
 
Développement Web
Développement WebDéveloppement Web
Développement Webmastertic
 
Cours Université de Metz: Internte, noms de domaines, droit d\'auteur et droi...
Cours Université de Metz: Internte, noms de domaines, droit d\'auteur et droi...Cours Université de Metz: Internte, noms de domaines, droit d\'auteur et droi...
Cours Université de Metz: Internte, noms de domaines, droit d\'auteur et droi...Prof. Jacques Folon (Ph.D)
 
Core Web Vitals : Comprendre, Mesurer, Optimiser
Core Web Vitals : Comprendre, Mesurer, OptimiserCore Web Vitals : Comprendre, Mesurer, Optimiser
Core Web Vitals : Comprendre, Mesurer, OptimiseriProspect France
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!CARA_Lyon
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!CARA_Lyon
 
Développement Web
Développement WebDéveloppement Web
Développement Webmastertic
 
Kiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internetKiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internetDevclic
 
Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?
Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?
Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?Fasterize
 
Techniques accélération des pages web #kiwiparty
Techniques accélération des pages web #kiwipartyTechniques accélération des pages web #kiwiparty
Techniques accélération des pages web #kiwipartyJean-Pierre Vincent
 
Création des sites web pour débutant
Création des sites web pour débutantCréation des sites web pour débutant
Création des sites web pour débutantKorteby Farouk
 
La casa de SEO : les questions à se poser pour le casse SEO parfait
La casa de SEO : les questions à se poser pour le casse SEO parfaitLa casa de SEO : les questions à se poser pour le casse SEO parfait
La casa de SEO : les questions à se poser pour le casse SEO parfaitAymeric Bouillat
 

Similaire à Le b.a.-ba du web scraping (20)

Optimisez la vitesse de chargement de votre site
Optimisez la vitesse de chargement de votre siteOptimisez la vitesse de chargement de votre site
Optimisez la vitesse de chargement de votre site
 
Un site web rapide ?
Un site web rapide ? Un site web rapide ?
Un site web rapide ?
 
WEB SCRAPING.pdf
WEB SCRAPING.pdfWEB SCRAPING.pdf
WEB SCRAPING.pdf
 
trucs_PFT_WEB_SCRAP_190411.pdf
trucs_PFT_WEB_SCRAP_190411.pdftrucs_PFT_WEB_SCRAP_190411.pdf
trucs_PFT_WEB_SCRAP_190411.pdf
 
SAPIENS2009 - Module 4B
SAPIENS2009 - Module 4BSAPIENS2009 - Module 4B
SAPIENS2009 - Module 4B
 
La mise en cache et ses secrets
La mise en cache et ses secretsLa mise en cache et ses secrets
La mise en cache et ses secrets
 
Amélioration des performances eCommerce - Webinaire par aYaline
Amélioration des performances eCommerce - Webinaire par aYalineAmélioration des performances eCommerce - Webinaire par aYaline
Amélioration des performances eCommerce - Webinaire par aYaline
 
Une introduction à Javascript
Une introduction à JavascriptUne introduction à Javascript
Une introduction à Javascript
 
Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)
 
Développement Web
Développement WebDéveloppement Web
Développement Web
 
Cours Université de Metz: Internte, noms de domaines, droit d\'auteur et droi...
Cours Université de Metz: Internte, noms de domaines, droit d\'auteur et droi...Cours Université de Metz: Internte, noms de domaines, droit d\'auteur et droi...
Cours Université de Metz: Internte, noms de domaines, droit d\'auteur et droi...
 
Core Web Vitals : Comprendre, Mesurer, Optimiser
Core Web Vitals : Comprendre, Mesurer, OptimiserCore Web Vitals : Comprendre, Mesurer, Optimiser
Core Web Vitals : Comprendre, Mesurer, Optimiser
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
 
Développement Web
Développement WebDéveloppement Web
Développement Web
 
Kiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internetKiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internet
 
Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?
Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?
Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?
 
Techniques accélération des pages web #kiwiparty
Techniques accélération des pages web #kiwipartyTechniques accélération des pages web #kiwiparty
Techniques accélération des pages web #kiwiparty
 
Création des sites web pour débutant
Création des sites web pour débutantCréation des sites web pour débutant
Création des sites web pour débutant
 
La casa de SEO : les questions à se poser pour le casse SEO parfait
La casa de SEO : les questions à se poser pour le casse SEO parfaitLa casa de SEO : les questions à se poser pour le casse SEO parfait
La casa de SEO : les questions à se poser pour le casse SEO parfait
 

Le b.a.-ba du web scraping

  • 1. 1 Le b.a.-ba du web scraping Alexandre Gindre @alexgindre ou agi@octo.com
  • 2. 2 « Le web scraping est une technique d'extraction du contenu de sites Web, via un script ou un programme, dans le but de le transformer pour permettre son utilisation dans un autre contexte » (Wikipedia) Une différenciation est faite entre le web scraping et le web crawling Web crawling : récupérer toutes les informations d’un site Ex: Google Web scraping : récupérer un sous-ensemble des informations d’un site Ex: comparateur de prix Définition http://stackoverflow.com/questions/4327392/what-is-the-difference-between-web-crawling-and-web-scraping
  • 3. 3 Ma vision d’architecture WWW Site cible Proxy Scraper Stockage Retraitement des données
  • 4. 4 On se réfère au droit d’auteur et au droit sur les bases de données C’est encore assez flou ! Quelques jurisprudences sur le sujet Ex: Ryanair contre OPODO Il faut prendre en compte la charte d’utilisation/mentions légales du site Ex: societe.com Ne pas mettre en danger le bon fonctionnement du site visé Faire attention à ne pas partir dans un DDOS ! Que dit la loi ?
  • 5. 5 De nombreux business sur le web scraping Comparateur de prix Informations sur des contacts Analyse sociale Base de recherche
  • 6. 6 Des technologies variées pjscrapeGrab Selenium with Python Beautiful Soup Wombat
  • 8. 8 Le navigateur masque la mauvaise structuration du HTML Problème au niveau du parsing de la page Les libs/outils peuvent automatiquement corriger le problème comme le browser Le serveur du site bloque les user-agents non standard Les outils comme Scrapy donne le user-agent Scrapy Redéfinition du user-agent pour passer Accepter les conséquences… Le serveur du site bloque par l’IP Utilisation d’un proxy pour changer l’IP de provenance des requêtes Prévoir un pool d’IP Service : hidemyass A la main : TOR Toutes les informations ne sont pas récupérées Paramétrer au mieux le temps de passage du scraper Mettre en place un système de watcher Toutes les 5 mins ? Eviter les doublons Passer par des hash sur les données Problèmes rencontrés (1/2)
  • 9. 9 Changement de la structure de la page cible Mise à niveau à la main pour l’instant … Les id et les class sont changeants Xpath sur les tags html pour les changement d’id ou de class CSS Reprise d’erreur sur le scraper Gérer dans les outils comme Scrapy ou CasperJS Sinon gestion à la main … Problèmes rencontrés (2/2)