Récupérer le contenu d'une page HTML dans Google Docs en utilisant XPath
Le principe de cette astuce est d'utiliser Xpath afin de construire un système d'alertes performant avec Google Docs. Cela va donc nous permettre de gérer des alertes sur des pages qui ne proposent pas de flux RSS. Nous nous sommes inspirés d'un didacticiel visible sur Digital Inspiration et qui a été imaginé par Chandoo.
Xpath est une syntaxe permettant de récupérer des informations contenues dans une page HTML.
Une expression Xpath est composée de sélecteurs qui définissent chacun un ensemble de nœuds. Pour le reste, il existe un cours très intéressant sur le site de Jean-Luc Massat.
Avec Google Docs, la syntaxe à utiliser sera celle-ci : =ImportXML("URL de la page web", "Expression XPath ").
Prenons un exemple en utilisant une des pages du site eBay.
Accédez au code source…
Les objets à la une sont listés grâce à cette déclaration :
<div class="ttl">Transmetteur Fm Mains Libres pour Iphone, Ipod GSM PDA...</a>
Vous ouvez donc construire une requête XPath en reprenant le nom de la classe ainsi que la balise de bloc (div) :
//div[@class='ttl'
Notez qu'il est beaucoup plus simple d'utiliser une extension Firefox comme Firebug.
Ouvrez alors Google Docs puis une nouvelle feuille de calcul et posez votre première formule :
=ImportXML("http://telephone.shop.ebay.fr/items/Telephonie-Mobilite__ipod_W0QQ_nkwZipodQQ_catrefZ1QQ_sacatZ14675QQ_trksidZp3913Q2ec0Q2em24?_trksid=p3913.c0.m24","//div[@class='ttl']")
Notez que si vous utilisez la version française de Google Docs, vous devez remplacer les virgules par des points-virgules.
Les autres formules sont construites sur le même principe (URL + balise + nom de la classe) :
=ImportXML("http://telephone.shop.ebay.fr/items/Telephonie-Mobilite__ipod_W0QQ_nkwZipodQQ_catrefZ1QQ_sacatZ14675QQ_trksidZp3913Q2ec0Q2em24?_trksid=p3913.c0.m24","//td[@class='prices g-b']")
=ImportXML("http://telephone.shop.ebay.fr/items/Telephonie-Mobilite__ipod_W0QQ_nkwZipodQQ_catrefZ1QQ_sacatZ14675QQ_trksidZp3913Q2ec0Q2em24?_trksid=p3913.c0.m24","//td[@class='ship ship fee']")
=ImportXML("http://telephone.shop.ebay.fr/items/Telephonie-Mobilite__ipod_W0QQ_nkwZipodQQ_catrefZ1QQ_sacatZ14675QQ_trksidZp3913Q2ec0Q2em24?_trksid=p3913.c0.m24","//td[@class='time time rt']")
Pour terminer, récupèrez l'adresse URL de recherche en la concaténant avec le contenu de la première cellule :
=HYPERLINK("http://telephone.shop.ebay.fr/items/?_nkw="&A1,"cliquez ici")
Cliquez enfin sur les boutons Partager puis Publier en tant que page Web.
Cochez la case Republier automatiquement après chaque modification.
Vous n'avez plus qu'à vous abonner au flux RSS qui sera automatiquement généré…
Mise à jour du 31/10/2008 : Nous avons publié un autre exemple d'utilisation des requêtes XPath dans Google Docs.
2 commentaires:
21 octobre 2008 à 07:27
diabolique! ;)
21 octobre 2008 à 10:04
Et en cogitant un peu, plein de possibilités :-)
Enregistrer un commentaire