Yahoo! Pipes : contourner l’absence de flux RSS (tutoriel xPath)

Des flux RSS à une veille de surface (5)

Dans un monde où tous les sites possèdent des flux RSS, nous pourrions nous arrêter là. Il y a cependant de nombreux sites qui n’en proposent pas, soit pour des raisons techniques (site statique, option non activée), soit volontairement pour obliger l’internaute à visiter le site plutôt que de le consulter via des agrégateurs (voir les articles 1, 2 et 3).

Nous allons voir que Yahoo! Pipes peut encore une fois nous aider. Grâce à ses modules, nous allons pouvoir exercer une surveillance de zones précises sur une page. Il faut pour cela que la zone à surveiller ne soit pas charger en javascript (en ajax par exemple) car sinon elles resteront invisibles. Heureusement, la plupart du temps, on retrouve facilement ses données sur d’autres pages. Il va falloir donc trouver la page proposant les données chargées.

Pour l’exemple, je prends la page du site de la bibliothèque de Rennes Métropole qui ne relève pas d’enjeux concurrentiels importants. L’url de cette page est http://www.bibliotheque-rennesmetropole.fr/.

Les slides en ligne sur SlideShare.net

Les éléments nécessaires pour le tutoriel :

  • Description : [\d\D]*<div class= »kmt_list_comm »><p>(.*)</p></div>[\d\D]*
  • Titre : [\d\D]*<a .*>(.*)</a>[\d\D]*
  • Lien : [\d\D]* href= »([^ »]*) »[\d\D]*

Les expressions régulières sous Yahoo! Pipes demandent un peu de pratique. « [\d\D]* » indique un contenu a ne pas prendre en compte – il précède ou suit les contenu recherchés. « (.*) » indique un contenu à retenir. Il est possible d’en retenir plusieurs qui pourront se faire appeler ensuite $1, $2, etc. Parfois « (.*) » ne permet pas de récupérer les contenus en raison de saut de ligne par exemple. Il est possible d’utiliser alors « ([^>]*) », de même pour les liens avec « ([^ »]*) ».

Nouveau module : XPATH Fetch Page (tutoriel)

Bien que le module Fetch Page ait disparu, il est toujours possible de l’utiliser en utilisant des clones de pipes existant (voir par exemple celui-ci que je prends comme exemple dans la suite) – il vous suffira de remplacer les url et codes par ceux correspondant à vos besoins. Yahoo! pipes propose en remplacement de ce module, un module au fonctionnement un peu différent : le Xpath Fetch Page !

module xpath fetch page de yahoo pipes

Contrairement à la capture ci-dessus, je vous conseille de ne pas cocher l’option « Emit items as string ». Sans cette option vous pourrez plus facilement afficher les différents contenus des items grâce à un module Regex.

Comment procéder ?

Dans le premier champ, vous devez saisir l’url de la page. Dans le second champ, vous devez saisir un code qui va vous permettre de cibler la partie du site que vous voulez transformer en items. Si par exemple je veux cibler les li d’un ul particulier dont la class est « linkList », je vais écrire //ul[@class= »linkList »] //li. La méthode semble plus efficace sur l’exemple que j’ai mis en lien, elle permet de mettre en items les li et uniquement eux là où l’autre méthode obligeait ensuite à utiliser un module de filtre pour effacer les « faux » items créés. Cela va demandé cependant un temps d’adaptation…

syntaxe XPath :

  • Nodename : (ex : paragraphe ou body) sélectionner tous les nœuds enfants du nœud nommé
  • / : Sélectionner à partir du nœud racine
  • // : Sélectionner les nœuds présents dans le document qui correspondent quel que soit leur emplacement à la sélection
  • . : Sélectionner le nœud courant
  • .. : Sélectionner le parent du nœud courant
  • @ : Sélectionner des attributs
  • //* : Sélectionner tous les éléments
  • //p : Sélectionner tous les éléments de p
  • P>* : Sélectionner tous les nœuds enfants de p
  • //*[@id=’page’] : Sélectionner tous les éléments par id
  • //*[@title] : Sélectionner les éléments avec attributs

source : http://www.stratieo.com/les-modules-de-yahoo-pipes-fonctionnalites-niveau-1/

Avec FireBug (extension du navigateur Firefox)

Il existe une méthode plus rapide avec le plugin FireBug sous Firefox. Il suffit de cibler la partie du code voulue et de récupérer le code xPath.

xPath avec Firebug

Vous obtiendrez alors le chemin xPath détaillé : /html/body/div[2]/div/div[4]/div/div pour l’exemple à partir de http://www.voyelle.fr/.

Générer les titre, liens et description

Pour la réécriture des items obtenus, il va falloir passer par un module Regex. Si nous restons sur l’exemple proposé, le Regex va me permettre de générer mon flux là où le précédent (Fetch page) nécessitait 5 modules. Pour appeler les contenus, il suffit de rédiger une ligne qui indiquera dans quel tableau il se trouve. Dans l’exemple ${a.content} pour le contenu textuel, ${a.href} pour le lien. L’exemple sur un blog traitant de ce nouveau module vous donne des lignes plus complexe en fonction des items générés : ${td.0.span.0.a.href} par exemple !

Autre possibilité plus simple : l’operateur Create RSS

Il vous faudra remplir les champs pour le titre, la description, le lien… de la même manière que dans le Regex sans les ${} : a.content suffira. Le seul défaut que j’y trouve est que sur certaines pages (moteur de recherche interne à un site) les résultats peuvent avoir des variantes. Le Regex permet d’ajouter ces variantes. Il est possible peut-être d’ajouter dans le champ titre une suite de possibilités… à tester donc.
Si la page ne bouge pas, ce module est plus simple et plus rapide que le Regex. À vous de voir !

Empêcher Xpath Fetch Page de scanner vos pages

Yahoo! pipes propose aussi une option pour bloquer une page à ce module : il suffit d’y insérer <meta name=”robots” content=”noindex”> ! Évidemment c’est assez radical puisque vous indiquez alors que votre page est non indexable par les moteurs de recherche. Ce n’est pas inintéressant pour autant, si vous ne souhaitez pas que votre page puisse être suivie, pas la peine de la référencer !

Pour retrouver le pipes de ce tutoriel ainsi que d’autres liens utiles :

Présentation des modules

Erwan Tanguy

Consultant Visibilité Web, rédacteur web et architecte de flux de contenus, Erwan Tanguy est aussi formateur autour de la veille, des réseaux sociaux, du jQuery et des CMS.

You may also like...

11 Responses

  1. TraVu dit :

    Bonjour,

    Il me reste encore une question :

    Je veux créer 1 RSS pour suivre l’actualité (à gauche) de ce site : http://www.handeco.org/. Et j’ai testé avec 2 solutions : Xpath & Feed43, aucun outil me donne la satisfaction,car :

    – Avec Xpath dans Yahoo Pipes : j’ai créé un flux RSS avec le titre (c’est bon), mais sans liens (ouff..) : http://pipes.yahoo.com/pipes/pipe.info?_id=25a7290eded8ff45504c77c8cb9c3177; ou bien, un flux RSS avec lien, mais sans titre explicite :(

    – Je ne réussis pas à créer un flux RSS de ce site avec Feed43 :(

    Pourrais tu m’aider en trouver une solution avec Yahoo Pipe (avec Xpath) pour expliciter les titres de chaque article?

    Merci par avance,

    • Bonjour,

      En effet, votre ligne xpath pointe sur le h2 (le titre des articles uniquement), vous ne pouvez donc récupérer que cette information. Si vous essayer par exemple avec //ul[@class= »news »] /li pour répertorier tous les blocs de contenus des actualités, vous arriverez à un flux complets normalement.

      Je vous ai fait rapidement un correctif sur ce lien http://pipes.yahoo.com/pipes/pipe.info?_id=072085409b41ea949184d5921200fc2d. Il vous suffit de le cloner, je le supprimerais ensuite.

      Sur ce flux vous avez le titre, le lien, le descriptif et la date.

      J’espère avoir répondu à votre problème.

      Cordialement,
      Erwan

  1. 7 février 2013

    […] Yahoo! Pipes : contourner l’absence de flux RSS (tutoriel xPath) « Veille Iscope […]

  2. 22 juillet 2013

    […] Contourner l’absence de flux rss avec Yahoo! Pipes : http://blog.voyelle.me/veille/des-flux-rss-a-une-veille-de-surface-5 […]

  3. 30 juillet 2013

    […] Pour comprendre l’utilisation du module xPath : Contourner l’absence de flux rss avec Yahoo! Pipes http://blog.voyelle.me/veille/des-flux-rss-a-une-veille-de-surface-5 […]

  4. 5 septembre 2013

    […] Voir un article sur une utilisation sur le blog de Voyelle : http://blog.voyelle.me/veille/des-flux-rss-a-une-veille-de-surface-5 […]

  5. 12 septembre 2013
  6. 25 novembre 2013

    […] Yahoo! Pipes : contourner l’absence de flux RSS (tutoriel xPath) « Veille Google Reader a fermé ses portes, le RSS ne va pas bien mais il n’est pas mort. Malgré les critiques plus ou moins virulentes que j’ai pu entendre sur le RSS (technologie « has-been » selon certains, « Twitter c’est la vie » pour d’autres, « faut savoir évoluer »), je suis pourtant d’avis que s’il y a bien une chose utile pour le veilleur c’est la RSS et que si le RSS est supprimé de nombreuses solutions en ligne (Google, Twitter, Facebook, etc) c’est tout simplement car il a justement tous les inconvénients que ces derniers détestent : permettre d’accéder à l’information sans se connecter sur ces plateformes et sans publicité. Donc le RSS c’est bien. Mais je ne développerai pas plus ce qu’est cette technologie (ce sous-langage plus exactement). Feed43 pour créer ses flux RSS à partir de n’importe quelle page web Accessibilité SINDUP® est accessible en mode SaaS directement à partir de votre navigateur Web. Fonctionnalités de Sindup Honest, Up-Front Pricing to help you success in social media The uberVU Blog — Social Media Marketing and Intelligence Blog – How to use actionable social intelligence to achieve your business goals Dans le cadre des activités de notre cabinet de conseils Social Media Kapital, nous utilisons plusieurs outils de monitoring sur les médias sociaux pour mener des opérations d’analyse web2.0 ou de veille (ereputation, concurrentielle, sectorielle etc.) Notre retour d'expérience est le suivant : Radian6 ou Sysomos ? Yahoo! propose une plateforme pour générer, modifier, travailler et filtrer des flux. Les flux, qu’ils proviennent de flux RSS, de formats xls, json ou directement d’informations présentes sur des sites web, sont utiles pour faire de la veille mais aussi pour transformer des contenus, pour pouvoir les déplacer d’un espace à un autre. Très utilisée par les spécialistes de la veille, cette plateforme peut s’avérer vite indispensable pour travailler ses propres contenus. Mais à quoi ça sert. Comme pour tous les outils sur le web, il faut d’abord définir ses besoins avant de se lancer. Yahoo! Pipes : présentation Yahoo Pipes: Colonne vertébrale d’une plateforme de veille multilingue, performante et gratuite […]

  7. 8 février 2014

    […] Yahoo! Pipes : contourner l’absence de flux RSS (tutoriel xPath) « Veille Vidéos IE / PME | Le blog de l’information stratégique […]

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>