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 ...
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 su...
5
De nombreux business sur le web scraping
Comparateur de
prix
Informations sur
des contacts
Analyse sociale Base de reche...
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 ...
9
Changement de la structure de la page cible
Mise à niveau à la main pour l’instant …
Les id et les class sont changeants...
10
Questions ?
Conclusion
Prochain SlideShare
Chargement dans…5
×

Le b.a.-ba du web scraping

871 vues

Publié le

Ma présentation sur le b.a.-ba du web scraping pour les Human Talks

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
871
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
16
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Le b.a.-ba du web scraping

  1. 1. 1 Le b.a.-ba du web scraping Alexandre Gindre @alexgindre ou agi@octo.com
  2. 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. 3 Ma vision d’architecture WWW Site cible Proxy Scraper Stockage Retraitement des données
  4. 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. 5 De nombreux business sur le web scraping Comparateur de prix Informations sur des contacts Analyse sociale Base de recherche
  6. 6. 6 Des technologies variées pjscrapeGrab Selenium with Python Beautiful Soup Wombat
  7. 7. 7 Exemple WWW Polipo HTML PDF XLS DOC
  8. 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. 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. 10. 10 Questions ? Conclusion

×