Si vous cherchez un moyen rapide en ligne de commande (pour vos scripts par exemple), d'extraire de la donnée depuis n'importe quelle page web, il existe un outil baptisé Wring qui sait scrapper du HTML en se reposant sur les styles CSS de la page.

img1

Pour que vous compreniez mieux comment ça fonctionne, voici un exemple simple qui consiste à récupérer en ligne de commande un taux de change à partir de Google.

wring text 'https://www.google.com/finance/converter?a=1&from=EUR&to=USD' '#currency_converter_result'

Le résultat renvoyé sera :

1 EUR = 1.0864 USD

Vous l'aurez compris, #currency_converter_result est le style CSS appliqué sur le taux de change présent sur la page. Wring sait aussi exploiter les sélecteurs JS spécifiques comme ceux de jQuery (par exemple :contains():), ce qui pourrait donner ceci :

wring t 'https://en.wikipedia.org/wiki/List_of_songs_recorded_by_Taylor_Swift' 'tr:contains("The Hunger Games") th:first-child'

Sympa non ? Même chose avec XPath évidemment.

Je vois déjà des applications dans mes scripts notamment domotiques ou serveur. Pour installer wring avec le support PhantomJs, il suffit d'ouvrir un terminal et d'entrer la commande suivante :

npm install --global wring-with-phantomjs

Amusez-vous bien !