Re: Parser du html en bash

Top Page

Reply to this message
Author: YP
Date:  
To: guilde
Subject: Re: Parser du html en bash
Le 28/11/2013 13:18, Sylvain Pogodalla a écrit :
> Bonjour à tous,


Re !

> Hugues Levasseur writes:
> > Mais dans mon cas, je ne veut pas réécrire Firefox en ligne de
> > commande, je voudrait juste extraire une chaine d'un fichier. Une
> > chaine qui commence par <div id="maCible"> et qui se fini au
> > prochain </div> rencontré
> >
> > ... c'est peut-être plus dans les cordes des RegExp ?
>
> En toute généralité : non (et c'est vrai pour les théoriciens comme
> pour les praticiens :-).


En pratique, et selon ce qu'on veut faire ou ce qu'on a à traiter, si le
code qu'on a à traiter est assez pourri pour faire échouer un tidy pour
tenter d'avoir de l'xhtml, il n'y a guère de solutions propres.

Les regexp sont un moindre mal, et en tout cas elles permettent de faire
le boulot quand même - surtout quand il faut traiter quelques centaines
de pages régulièrement, en provenance de sites sur lesquels on n'a
aucune prise - malgré tout, tout en tenant compte des remarques exprimées.

Sinon, un truc comme :

xmllint --xpath "//div[@id='maCible']" text.xhtml

est sans doute plus élégant, efficace et nettement moins prise de tête
aussi... Mais pas toujours possible ;)

++

Yves