Extraire et trier des données en ligne
Erwan Tanguy
Stratégie et veille
Web scraping ?
Le web scraping est une
technique d'extraction du contenu
de sites Web, via un script ou un
programme, dans...
Pour faire de la veille ?
La veille est un élément
stratégique important et souvent
négligé. Elle aide à prendre des
décis...
Des outils de web scraping
Pour récupérer des
données :
 Google spreadsheet ;
 Import.io ;
 Kimono ;
 Feed43 ;
 Yahoo...
Partons d’un exemple
Sur une page de vente
immobilière du site pap.fr, je
voudrais suivre les nouvelles
vente de maisons,
...
Import.io
Dans la liste des outils gratuits
permettant de réaliser une récupération
de données, vous pouvez utiliser
Impor...
Import.io
Plusieurs méthodes d’extraction des
données sont possibles via
l’application gratuite :
 Magic
propose automati...
Import.io
Une fois votre page mise en place, vous
allez pouvoir ouvrir le Data set.
Dans cette partie de l’application, vo...
kimonolabs
Kimonomabs propose une
plateforme en ligne et un
bookmarklet pour déclencher la
récupération des données sur un...
kimonolabs
À partir du bookmarklet, vous
allez pouvoir définir, propriété par
propriété, les différents éléments
de votre ...
Yahoo! Pipes
Yahoo! a mis en place un outil
assez puissant qui permet de
mettre en place des tuyaux
(‘pipes’) qui vont pou...
Yahoo! Pipes
Comme le permet aussi dans une
certaine mesure import.io, le
langage XPath nous donne la
possibilité de cible...
Yahoo! Pipes
Avant de définir les éléments du flux RSS
final, nous allons correctement
paramétrer la date de publication.
...
Yahoo! Pipes
Il faut ensuite remplacer le
nom du mois par son
chiffre :
 janvier > 01
 février > 02
 …
Une fois les dat...
Yahoo! Pipes
Avec le module « Create RSS », nous allons indiquer
pour chaque élément la valeur correspondante.
 Titre : d...
Yahoo! Pipes
Pour finaliser notre flux, il nous reste à
intégrer 4 valeurs dans la description :
1. Le bloc textuel ;
2. L...
Yahoo! Pipes
Pour le reste, ligne par ligne, nous allons
soit placer des sauts de ligne, soit du
contenu, à la suite des d...
Yahoo! Pipes
Pour améliorer votre flux, vous pouvez
ajouter les URL des paginations dans
d’autres modules XPath puis les u...
Voir en ligne
 La page sur pap.fr : http://goo.gl/62sOtz
 La présentation sur slideshare (téléchargeable en PDF) :
http:...
ErwanTanguy
www.erwantanguy.fr
www.digital-strategy.fr
www.ouestlab.fr
Consultant et formateur
Web, veille numérique, rése...
Prochain SlideShare
Chargement dans…5
×

Stratégie et veille : Extraire et trier des données en ligne

1 599 vues

Publié le

Dans le cadre d'une intervention aux sharing weeks de Digital Campus et ESG Rennes.

Publié dans : Internet
3 commentaires
4 j’aime
Statistiques
Remarques
Aucun téléchargement
Vues
Nombre de vues
1 599
Sur SlideShare
0
Issues des intégrations
0
Intégrations
33
Actions
Partages
0
Téléchargements
18
Commentaires
3
J’aime
4
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Stratégie et veille : Extraire et trier des données en ligne

  1. 1. Extraire et trier des données en ligne Erwan Tanguy Stratégie et veille
  2. 2. Web scraping ? 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. Attention, il peut y avoir une utilisation légale ou illégale du web scraping. Nous nous intéresserons qu’à la première. Pour quoi faire ?  Transférer des données d’un site vers un autre site ou vers un document (type tableau Excel) ;  Transformer des données pour y ajouter une valeur avant de la partager sur des réseaux sociaux ;  Récupérer des informations provenant de la concurrence pour pouvoir les analyser ;  Illégal : récupérer des données et les publier à son compte ;  …
  3. 3. Pour faire de la veille ? La veille est un élément stratégique important et souvent négligé. Elle aide à prendre des décisions, permet d’évoluer et de rester à l’écoute. Ce n’est en aucun cas de l’espionnage ! La veille numérique travaille à partir des données disponible légalement sur internet :  Sur des sites publics ;  Via des requêtes sur les moteurs de recherche ;  … La veille, associée à des techniques de web scraping, va pouvoir récupérer des données et les rendre lisibles, accessibles, pour un public large ou pour des personnes précises. Ces données, provenant généralement de sites web, pourront être récupérées au sein d’un document dynamique (un spreadsheet sur Google Drive par exemple) ou compilées sur un flux RSS dans le but d’alimenter une newsletter…
  4. 4. Des outils de web scraping Pour récupérer des données :  Google spreadsheet ;  Import.io ;  Kimono ;  Feed43 ;  Yahoo! Pipes… Pour trier et transformer les données :  Yahoo! Pipes  Dlvr.it… Pour pousser les données :  IFTTT ;  Dlvr.it ;  Zapier… Pour partager les données :  Les suites d’outils Google (Drive, Group…) ;  Excel ;  Des intranets ou des sites privés…  Des sites ou des réseaux sociaux ouverts…
  5. 5. Partons d’un exemple Sur une page de vente immobilière du site pap.fr, je voudrais suivre les nouvelles vente de maisons, d’appartements ou autres au fur et à mesure. URL : http://www.pap.fr/annonce/ vente-immobiliere-rennes- 35-g43618 Sur cette page, je ne souhaite récupérer que les informations de zones précises liées à ma recherche :
  6. 6. Import.io Dans la liste des outils gratuits permettant de réaliser une récupération de données, vous pouvez utiliser Import.io qui propose un espace en ligne et une application. Cet outil est relativement simple à utiliser puisqu’il nécessite juste de zoner les parties de la page avec laquelle nous souhaitons réaliser un flux. Le flux obtenu pourra être récupérer en tableau soit dans Excel soit dans un spreadsheet sur Drive (avec la possibilité de le rendre dynamique). Pour des approches simples, Import.io peut être redoutable mais dès que le flux souhaité nécessite des précisions, des filtres, il faudra passer sur un outil plus performant et plus complexe.
  7. 7. Import.io Plusieurs méthodes d’extraction des données sont possibles via l’application gratuite :  Magic propose automatiquement de récupérer les données qui semblent être les plus évidentes  Extractor & Classic Extractor vous permet de cibler les éléments de la page et de les organiser dans un tableau  Authenticated Extrator vous permet d’extraire des données sur un site qui nécessite une authentification (attention, cela peut être illégale si vous transmettez ces données)
  8. 8. Import.io Une fois votre page mise en place, vous allez pouvoir ouvrir le Data set. Dans cette partie de l’application, vous allez pouvoir ajouter les liens des paginations suivantes pour récupérer la suite des données. Vous trouverez aussi des outils pour intégrer les résultats dans un tableur (Excel ou spreadsheet) ou directement les télécharger en csv, html ou excel… Exemple pour insérer le résultat d’une page dans un spreadsheet de Google : =ImportHtml("https://query.import.io/store/connect or/97a340a3-5ae0-4c2b-9f06- 8931d7f8ebe6/_query?_user=a4b8bb0e-5f58-4315- 805c- ae9f5c0d0d42&_apikey=YOUR_API_KEY&format=HT ML&input/webpage/url=http%3A%2F%2Fwww.pap.f r%2Fannonce%2Fvente-immobiliere-rennes-35- g43618"; "table"; 1)
  9. 9. kimonolabs Kimonomabs propose une plateforme en ligne et un bookmarklet pour déclencher la récupération des données sur une page. Les formats de sorties sont en json, csv ou rss. Assez simple donc ensuite de les importer en dynamique sur un spreadsheet par exemple. Comme pour import.io, l’outil étant simple, il reste limité. Pour notre exemple, il est impossible de récupérer les images des annonces.
  10. 10. kimonolabs À partir du bookmarklet, vous allez pouvoir définir, propriété par propriété, les différents éléments de votre tableaux. Si vous souhaitez récupérer un flux RSS par la suite, je vous conseille de suivre les noms « title » et « description » pour définir les données principales, cela simplifiera sa création. Une fois terminé, il ne vous reste plus qu’à enregistrer votre API et la consulter ou l’intégrer à une plateforme ou un logiciel.
  11. 11. Yahoo! Pipes Yahoo! a mis en place un outil assez puissant qui permet de mettre en place des tuyaux (‘pipes’) qui vont pouvoir regrouper des informations provenant de flux RSS, de pages web, de CSV ou de json. Ces informations pourront ensuite être traitées pour filtrer ou modifier les données dans le but de les valoriser. Plus technique que les deux précédents outils, il est aussi plus redoutable d’efficacité.
  12. 12. Yahoo! Pipes Comme le permet aussi dans une certaine mesure import.io, le langage XPath nous donne la possibilité de cibler précisément des zones. Dans notre exemple, toutes les annonces sont dans des éléments html « li » avec une classe « annonce », ce qui donne en XPath : //li[@class="annonce"] //li indique que nous cherchons le ou les nœuds « li » dans la page [@class="annonce"] pour ne prendre que ceux qui ont la classe « annonce ».
  13. 13. Yahoo! Pipes Avant de définir les éléments du flux RSS final, nous allons correctement paramétrer la date de publication. Dans les résultats obtenus avec le Xpath, nous pouvons dérouler un élément et y trouver la date en français : div.0.span.content Avec le module Regex, nous allons reformuler la date pour quelle se présente sous la forme 2015-02-23T07:00:00.00 Nous remplaçons donc la valeur intitial (ici 23 février 2015) appelé ainsi « (.*) (.*) (.*) » par « $3-$2- $1T07:00:00.00 ». $1, $2 et $3 représentent les valeurs mémorisées par les 3 (.*) !
  14. 14. Yahoo! Pipes Il faut ensuite remplacer le nom du mois par son chiffre :  janvier > 01  février > 02  … Une fois les dates formatées, nous allons pouvoir mettre en place correctement notre flux.
  15. 15. Yahoo! Pipes Avec le module « Create RSS », nous allons indiquer pour chaque élément la valeur correspondante.  Titre : div.0.a.span.0.content  Lien : div.0.a.href  Date : div.0.span.content  URL de l’image : div.2.div.0.a.0.img.src Enfin, nous allons mettre une première valeur dans la description, le prix du bien immobilier : div.0.a.span.1.content En effet, nous avons plusieurs valeurs à saisir mais peu d’élément pour les contenir. Nous allons donc travailler la description pour qu’elle puisse contenir un maximum d’informations. Enfin, pour finir avec ce module, nous allons ajouter l’URL de l’image dans l’espace « Author » qui n’est pas utilisé. Cela nous permettra, dans un spreadsheet, d’afficher l’image correctement (Google spreadsheet ne reconnait pas les medias associés).
  16. 16. Yahoo! Pipes Pour finaliser notre flux, il nous reste à intégrer 4 valeurs dans la description : 1. Le bloc textuel ; 2. Le nombre de pièces ; 3. Le nombre de chambres ; 4. La surface. Nous allons pour cela utiliser un module Regex pour ajouter du contenu avant (« ^ ») ou après (« $ ») le contenu déjà en place dans description. Pour commencer nous allons ajouter le terme prix devant la valeur en place. Nous plaçons donc devant (replace : ^) les éléments « Prix : ». Pour que le : ne soit pas collé à la valeur existante, il est utile de rajouter un espace.
  17. 17. Yahoo! Pipes Pour le reste, ligne par ligne, nous allons soit placer des sauts de ligne, soit du contenu, à la suite des données déjà présentes avec le symbole $. Le contenu se trouve là : ${div.2.div.1.p}. Et les 3 autres valeurs respectivement là ${div.2.div.1.ul.li.0.p}, là ${div.2.div.1.ul.li.1.p} et là ${div.2.div.1.ul.li.2.p}. Vous nommez et enregistrez votre flux et c’est prêt. Vous pouvez ensuite l’intégrer à un spreadsheet comme pour les précédents, le connecter à votre boite mail ou à d’autres services via des applications comme IFTTT.
  18. 18. Yahoo! Pipes Pour améliorer votre flux, vous pouvez ajouter les URL des paginations dans d’autres modules XPath puis les unir avant d’opérer les modifications. Avec le module « Filtre », vous pouvez définir des termes qui doivent ou ne doivent pas apparaître. Ici, par exemple, il faut qu’il y ait le terme appartement dans le titre. Pour aller plus loin, il est possible de mettre en place un formulaire qui vous permettre de choisir le terme présent dans le titre et de générer un flux propre à chaque terme.
  19. 19. Voir en ligne  La page sur pap.fr : http://goo.gl/62sOtz  La présentation sur slideshare (téléchargeable en PDF) : http://goo.gl/HxmWim  Le pipe sur Yahoo! Pipes : http://goo.gl/1EZ7TC  Tableau des données sur import.io : http://goo.gl/WsRo7u  Flux RSS du kimonolabs : http://goo.gl/hRdqcX
  20. 20. ErwanTanguy www.erwantanguy.fr www.digital-strategy.fr www.ouestlab.fr Consultant et formateur Web, veille numérique, réseaux sociaux, référencement Spécialiste CMS Wordpress, SPIP HTML, CSS3, jQuery, PHP contact@erwantanguy.fr 06 62 15 11 02

×