j'ai un fichier HTML super simple decrit ci-dessous dont j'aimerais
extraire certaines données. N'ayant pas fait de Perl depuis plus de 4
ans j'aurais besoin d'un petit coup de pouce.
Le fichier en question est une table decrivant le code des msgs windows,
il ressemble à ca :
...
<td>WM_ACTIVATE</td>
<td>0x0006</td>
<td></td>
<td>0x0000</td>
<td>WM_NULL</td>
</tr>
...
J'aimerais extraire ces codes pour obtenir la structure suivante :
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
mosfet
Bonjour,
j'ai un fichier HTML super simple decrit ci-dessous dont j'aimerais extraire certaines données. N'ayant pas fait de Perl depuis plus de 4 ans j'aurais besoin d'un petit coup de pouce. Le fichier en question est une table decrivant le code des msgs windows, il ressemble à ca :
... <td>WM_ACTIVATE</td> <td>0x0006</td> <td></td> <td>0x0000</td> <td>WM_NULL</td> </tr> ... J'aimerais extraire ces codes pour obtenir la structure suivante :
j'ai un fichier HTML super simple decrit ci-dessous dont j'aimerais
extraire certaines données. N'ayant pas fait de Perl depuis plus de 4
ans j'aurais besoin d'un petit coup de pouce.
Le fichier en question est une table decrivant le code des msgs windows,
il ressemble à ca :
...
<td>WM_ACTIVATE</td>
<td>0x0006</td>
<td></td>
<td>0x0000</td>
<td>WM_NULL</td>
</tr>
...
J'aimerais extraire ces codes pour obtenir la structure suivante :
j'ai un fichier HTML super simple decrit ci-dessous dont j'aimerais extraire certaines données. N'ayant pas fait de Perl depuis plus de 4 ans j'aurais besoin d'un petit coup de pouce. Le fichier en question est une table decrivant le code des msgs windows, il ressemble à ca :
... <td>WM_ACTIVATE</td> <td>0x0006</td> <td></td> <td>0x0000</td> <td>WM_NULL</td> </tr> ... J'aimerais extraire ces codes pour obtenir la structure suivante :
Ceci dit, ca a quand meme une tete de HTML, voire de xHTML. Plutot qu'une regexp, qui va toujours merdoyer dans les grandes largeurs sur ce genre de trucs, j'utiliserais directement un module adapte.
HTML::Parser ou sa surcouche HTML::Tree me semblent tres adaptes...
Est-ce que c'est un marteau-pilon pour ecraser trois mouches ? peut-etre... ca depend si tu veux avoir le resultat rapidement, ou si tu veux que ca calcule le resultat rapidement.
manque des bouts de ton fichier...
Ceci dit, ca a quand meme une tete de HTML, voire de xHTML.
Plutot qu'une regexp, qui va toujours merdoyer dans les grandes
largeurs sur ce genre de trucs, j'utiliserais directement un
module adapte.
HTML::Parser ou sa surcouche HTML::Tree me semblent tres adaptes...
Est-ce que c'est un marteau-pilon pour ecraser trois mouches ?
peut-etre... ca depend si tu veux avoir le resultat rapidement, ou
si tu veux que ca calcule le resultat rapidement.
Ceci dit, ca a quand meme une tete de HTML, voire de xHTML. Plutot qu'une regexp, qui va toujours merdoyer dans les grandes largeurs sur ce genre de trucs, j'utiliserais directement un module adapte.
HTML::Parser ou sa surcouche HTML::Tree me semblent tres adaptes...
Est-ce que c'est un marteau-pilon pour ecraser trois mouches ? peut-etre... ca depend si tu veux avoir le resultat rapidement, ou si tu veux que ca calcule le resultat rapidement.
mosfet
manque des bouts de ton fichier...
Ceci dit, ca a quand meme une tete de HTML, voire de xHTML. Plutot qu'une regexp, qui va toujours merdoyer dans les grandes largeurs sur ce genre de trucs, j'utiliserais directement un module adapte.
HTML::Parser ou sa surcouche HTML::Tree me semblent tres adaptes...
Est-ce que c'est un marteau-pilon pour ecraser trois mouches ? peut-etre... ca depend si tu veux avoir le resultat rapidement, ou si tu veux que ca calcule le resultat rapidement. Peut m'importe. Je veux juste un resultat quelque soit la facon.
En gros le motif suivant se repete tout au long du fichier :
cad Nom : WM_ACTIVATE Code : 0x0006 Code : 0x0000 Nom : WM_NULL
LA seule difficulté c'est que ca ne garde pas le meme ordre
manque des bouts de ton fichier...
Ceci dit, ca a quand meme une tete de HTML, voire de xHTML.
Plutot qu'une regexp, qui va toujours merdoyer dans les grandes
largeurs sur ce genre de trucs, j'utiliserais directement un
module adapte.
HTML::Parser ou sa surcouche HTML::Tree me semblent tres adaptes...
Est-ce que c'est un marteau-pilon pour ecraser trois mouches ?
peut-etre... ca depend si tu veux avoir le resultat rapidement, ou
si tu veux que ca calcule le resultat rapidement.
Peut m'importe. Je veux juste un resultat quelque soit la facon.
En gros le motif suivant se repete tout au long du fichier :
Ceci dit, ca a quand meme une tete de HTML, voire de xHTML. Plutot qu'une regexp, qui va toujours merdoyer dans les grandes largeurs sur ce genre de trucs, j'utiliserais directement un module adapte.
HTML::Parser ou sa surcouche HTML::Tree me semblent tres adaptes...
Est-ce que c'est un marteau-pilon pour ecraser trois mouches ? peut-etre... ca depend si tu veux avoir le resultat rapidement, ou si tu veux que ca calcule le resultat rapidement. Peut m'importe. Je veux juste un resultat quelque soit la facon.
En gros le motif suivant se repete tout au long du fichier :
cad Nom : WM_ACTIVATE Code : 0x0006 Code : 0x0000 Nom : WM_NULL
LA seule difficulté c'est que ca ne garde pas le meme ordre
nospam
mosfet wrote:
Bonjour,
j'ai un fichier HTML super simple decrit ci-dessous dont j'aimerais extraire certaines données. N'ayant pas fait de Perl depuis plus de 4 ans j'aurais besoin d'un petit coup de pouce. Le fichier en question est une table decrivant le code des msgs windows, il ressemble à ca :
... <td>WM_ACTIVATE</td> <td>0x0006</td> <td></td> <td>0x0000</td> <td>WM_NULL</td> </tr> ... J'aimerais extraire ces codes pour obtenir la structure suivante :
Comment puis je faire ? Peut etre qu'avec une regex bien placé ca doit le faire.
Bonjour,
Essaie ceci,
#!/usr/bin/perl use strict; use warnings;
@ARGV = "/Users/Broke/Desktop/data.html"; #ecrire ici le chemin d'acces a ton fichier. #s'il y a plusieurs fichiers ils doivent #etre entoures d'un parenthese et separes #par des virgules. #comme ceci: (xx/xx/xx/fichier, pareil, #pareil) while (my $line = <>) {
if ($line =~ m#^s*?<td.(WM_A.+)</.+$#) { print 'cad Nom :'.$1."n"; } if ($line =~ m#^s*?<td.s*(d[^d]d+).+$#) { print ' Code : '.$1."n"; } if ($line =~ m#^s*?<td.(WM_N.+)</.+$#) { print ' Nom : '.$1."n"; } }
#--FIN--
mosfet <richom.v@free.fr> wrote:
Bonjour,
j'ai un fichier HTML super simple decrit ci-dessous dont j'aimerais
extraire certaines données. N'ayant pas fait de Perl depuis plus de 4
ans j'aurais besoin d'un petit coup de pouce.
Le fichier en question est une table decrivant le code des msgs windows,
il ressemble à ca :
...
<td>WM_ACTIVATE</td>
<td>0x0006</td>
<td></td>
<td>0x0000</td>
<td>WM_NULL</td>
</tr>
...
J'aimerais extraire ces codes pour obtenir la structure suivante :
Comment puis je faire ?
Peut etre qu'avec une regex bien placé ca doit le faire.
Bonjour,
Essaie ceci,
#!/usr/bin/perl
use strict;
use warnings;
@ARGV = "/Users/Broke/Desktop/data.html";
#ecrire ici le chemin d'acces a ton fichier.
#s'il y a plusieurs fichiers ils doivent
#etre entoures d'un parenthese et separes
#par des virgules.
#comme ceci: (xx/xx/xx/fichier, pareil,
#pareil)
while (my $line = <>) {
if ($line =~ m#^s*?<td.(WM_A.+)</.+$#) {
print 'cad Nom :'.$1."n";
}
if ($line =~ m#^s*?<td.s*(d[^d]d+).+$#) {
print ' Code : '.$1."n";
}
if ($line =~ m#^s*?<td.(WM_N.+)</.+$#) {
print ' Nom : '.$1."n";
}
}
j'ai un fichier HTML super simple decrit ci-dessous dont j'aimerais extraire certaines données. N'ayant pas fait de Perl depuis plus de 4 ans j'aurais besoin d'un petit coup de pouce. Le fichier en question est une table decrivant le code des msgs windows, il ressemble à ca :
... <td>WM_ACTIVATE</td> <td>0x0006</td> <td></td> <td>0x0000</td> <td>WM_NULL</td> </tr> ... J'aimerais extraire ces codes pour obtenir la structure suivante :
Comment puis je faire ? Peut etre qu'avec une regex bien placé ca doit le faire.
Bonjour,
Essaie ceci,
#!/usr/bin/perl use strict; use warnings;
@ARGV = "/Users/Broke/Desktop/data.html"; #ecrire ici le chemin d'acces a ton fichier. #s'il y a plusieurs fichiers ils doivent #etre entoures d'un parenthese et separes #par des virgules. #comme ceci: (xx/xx/xx/fichier, pareil, #pareil) while (my $line = <>) {
if ($line =~ m#^s*?<td.(WM_A.+)</.+$#) { print 'cad Nom :'.$1."n"; } if ($line =~ m#^s*?<td.s*(d[^d]d+).+$#) { print ' Code : '.$1."n"; } if ($line =~ m#^s*?<td.(WM_N.+)</.+$#) { print ' Nom : '.$1."n"; } }
#--FIN--
nospam
Broke wrote:
Salut,
Le Regexp que j'ai poste ne tient pas compte d'une erreur de codage HTML et d'espaces involontaires voici le code corrige qui en tient compte: @ARGV = "/Users/Broke/Desktop/ton_fichier.html"; #ecrire ici le chemin d'acces a ton fichier. #s'il y a plusieurs fichiers ils doivent #etre entoures d'une parenthese et separes #par des virgules. #comme ceci: (xx/xx/xx/fichier, pareil, #pareil) while (my $line = <>) {
if ($line =~ m#^s*?<td.(WM_A.+)</.+$#) { print 'cad Nom :'.$1."n"; } if ($line =~ m#^s*?<td.s*?(d[^d]d+).+$#) { print ' Code : '.$1."n"; } if ($line =~ m#^s*?<td.s*?(WM_N.+)</.+$#) { print ' Nom : '.$1."n"; } }
#--FIN--
mosfet wrote:
Bonjour,
j'ai un fichier HTML super simple decrit ci-dessous dont j'aimerais extraire certaines données. N'ayant pas fait de Perl depuis plus de 4 ans j'aurais besoin d'un petit coup de pouce. Le fichier en question est une table decrivant le code des msgs windows, il ressemble à ca :
... <td>WM_ACTIVATE</td> <td>0x0006</td> <td></td> <td>0x0000</td> <td>WM_NULL</td> </tr> ... J'aimerais extraire ces codes pour obtenir la structure suivante :
Comment puis je faire ? Peut etre qu'avec une regex bien placé ca doit le faire.
Bonjour,
Essaie ceci,
#!/usr/bin/perl use strict; use warnings;
@ARGV = "/Users/Broke/Desktop/data.html"; #ecrire ici le chemin d'acces a ton fichier. #s'il y a plusieurs fichiers ils doivent #etre entoures d'un parenthese et separes #par des virgules. #comme ceci: (xx/xx/xx/fichier, pareil, #pareil) while (my $line = <>) {
if ($line =~ m#^s*?<td.(WM_A.+)</.+$#) { print 'cad Nom :'.$1."n"; } if ($line =~ m#^s*?<td.s*(d[^d]d+).+$#) { print ' Code : '.$1."n"; } if ($line =~ m#^s*?<td.(WM_N.+)</.+$#) { print ' Nom : '.$1."n"; } }
#--FIN--
Broke <nospam@tele2.fr> wrote:
Salut,
Le Regexp que j'ai poste ne tient pas
compte d'une erreur de codage HTML et
d'espaces involontaires voici le code
corrige qui en tient compte:
@ARGV = "/Users/Broke/Desktop/ton_fichier.html";
#ecrire ici le chemin d'acces a ton fichier.
#s'il y a plusieurs fichiers ils doivent
#etre entoures d'une parenthese et separes
#par des virgules.
#comme ceci: (xx/xx/xx/fichier, pareil,
#pareil)
while (my $line = <>) {
if ($line =~ m#^s*?<td.(WM_A.+)</.+$#) {
print 'cad Nom :'.$1."n";
}
if ($line =~ m#^s*?<td.s*?(d[^d]d+).+$#) {
print ' Code : '.$1."n";
}
if ($line =~ m#^s*?<td.s*?(WM_N.+)</.+$#) {
print ' Nom : '.$1."n";
}
}
#--FIN--
mosfet <richom.v@free.fr> wrote:
Bonjour,
j'ai un fichier HTML super simple decrit ci-dessous dont j'aimerais
extraire certaines données. N'ayant pas fait de Perl depuis plus de 4
ans j'aurais besoin d'un petit coup de pouce.
Le fichier en question est une table decrivant le code des msgs windows,
il ressemble à ca :
...
<td>WM_ACTIVATE</td>
<td>0x0006</td>
<td></td>
<td>0x0000</td>
<td>WM_NULL</td>
</tr>
...
J'aimerais extraire ces codes pour obtenir la structure suivante :
Comment puis je faire ?
Peut etre qu'avec une regex bien placé ca doit le faire.
Bonjour,
Essaie ceci,
#!/usr/bin/perl
use strict;
use warnings;
@ARGV = "/Users/Broke/Desktop/data.html";
#ecrire ici le chemin d'acces a ton fichier.
#s'il y a plusieurs fichiers ils doivent
#etre entoures d'un parenthese et separes
#par des virgules.
#comme ceci: (xx/xx/xx/fichier, pareil,
#pareil)
while (my $line = <>) {
if ($line =~ m#^s*?<td.(WM_A.+)</.+$#) {
print 'cad Nom :'.$1."n";
}
if ($line =~ m#^s*?<td.s*(d[^d]d+).+$#) {
print ' Code : '.$1."n";
}
if ($line =~ m#^s*?<td.(WM_N.+)</.+$#) {
print ' Nom : '.$1."n";
}
}
Le Regexp que j'ai poste ne tient pas compte d'une erreur de codage HTML et d'espaces involontaires voici le code corrige qui en tient compte: @ARGV = "/Users/Broke/Desktop/ton_fichier.html"; #ecrire ici le chemin d'acces a ton fichier. #s'il y a plusieurs fichiers ils doivent #etre entoures d'une parenthese et separes #par des virgules. #comme ceci: (xx/xx/xx/fichier, pareil, #pareil) while (my $line = <>) {
if ($line =~ m#^s*?<td.(WM_A.+)</.+$#) { print 'cad Nom :'.$1."n"; } if ($line =~ m#^s*?<td.s*?(d[^d]d+).+$#) { print ' Code : '.$1."n"; } if ($line =~ m#^s*?<td.s*?(WM_N.+)</.+$#) { print ' Nom : '.$1."n"; } }
#--FIN--
mosfet wrote:
Bonjour,
j'ai un fichier HTML super simple decrit ci-dessous dont j'aimerais extraire certaines données. N'ayant pas fait de Perl depuis plus de 4 ans j'aurais besoin d'un petit coup de pouce. Le fichier en question est une table decrivant le code des msgs windows, il ressemble à ca :
... <td>WM_ACTIVATE</td> <td>0x0006</td> <td></td> <td>0x0000</td> <td>WM_NULL</td> </tr> ... J'aimerais extraire ces codes pour obtenir la structure suivante :
Comment puis je faire ? Peut etre qu'avec une regex bien placé ca doit le faire.
Bonjour,
Essaie ceci,
#!/usr/bin/perl use strict; use warnings;
@ARGV = "/Users/Broke/Desktop/data.html"; #ecrire ici le chemin d'acces a ton fichier. #s'il y a plusieurs fichiers ils doivent #etre entoures d'un parenthese et separes #par des virgules. #comme ceci: (xx/xx/xx/fichier, pareil, #pareil) while (my $line = <>) {
if ($line =~ m#^s*?<td.(WM_A.+)</.+$#) { print 'cad Nom :'.$1."n"; } if ($line =~ m#^s*?<td.s*(d[^d]d+).+$#) { print ' Code : '.$1."n"; } if ($line =~ m#^s*?<td.(WM_N.+)</.+$#) { print ' Nom : '.$1."n"; } }
#--FIN--
Klaus
On Mar 6, 1:03 pm, mosfet wrote:
Marc Espie a écrit :> manque des bouts de ton fichier...
Ceci dit, ca a quand meme une tete de HTML, voire de xHTML. Plutot qu'une regexp, qui va toujours merdoyer dans les grandes largeurs sur ce genre de trucs, j'utiliserais directement un module adapte.
HTML::Parser ou sa surcouche HTML::Tree me semblent tres adaptes...
Est-ce que c'est un marteau-pilon pour ecraser trois mouches ? peut-etre... ca depend si tu veux avoir le resultat rapidement, ou si tu veux que ca calcule le resultat rapidement.
Peut m'importe. Je veux juste un resultat quelque soit la facon.
je propose de lire d'abord Perlfaq 6: Est-ce possible d'utiliser les expressions rationnelles de Perl pour reconnaître du texte bien équilibré ? http://perl.enstimac.fr/DocFr/perlfaq6.html#estce%20possible%20d'utiliser%2 0les%20expressions%20rationnelles%20de%20perl%20pour%20reconna%EEtre%20du%2 0texte%20bien%20%E9quilibr%E9
-- Klaus
On Mar 6, 1:03 pm, mosfet <richo...@free.fr> wrote:
Marc Espie a écrit :> manque des bouts de ton fichier...
Ceci dit, ca a quand meme une tete de HTML, voire de xHTML.
Plutot qu'une regexp, qui va toujours merdoyer dans les grandes
largeurs sur ce genre de trucs, j'utiliserais directement un
module adapte.
HTML::Parser ou sa surcouche HTML::Tree me semblent tres adaptes...
Est-ce que c'est un marteau-pilon pour ecraser trois mouches ?
peut-etre... ca depend si tu veux avoir le resultat rapidement, ou
si tu veux que ca calcule le resultat rapidement.
Peut m'importe. Je veux juste un resultat quelque soit la facon.
je propose de lire d'abord
Perlfaq 6: Est-ce possible d'utiliser les expressions rationnelles de
Perl pour reconnaître du texte bien équilibré ?
http://perl.enstimac.fr/DocFr/perlfaq6.html#estce%20possible%20d'utiliser%2 0les%20expressions%20rationnelles%20de%20perl%20pour%20reconna%EEtre%20du%2 0texte%20bien%20%E9quilibr%E9
Marc Espie a écrit :> manque des bouts de ton fichier...
Ceci dit, ca a quand meme une tete de HTML, voire de xHTML. Plutot qu'une regexp, qui va toujours merdoyer dans les grandes largeurs sur ce genre de trucs, j'utiliserais directement un module adapte.
HTML::Parser ou sa surcouche HTML::Tree me semblent tres adaptes...
Est-ce que c'est un marteau-pilon pour ecraser trois mouches ? peut-etre... ca depend si tu veux avoir le resultat rapidement, ou si tu veux que ca calcule le resultat rapidement.
Peut m'importe. Je veux juste un resultat quelque soit la facon.
je propose de lire d'abord Perlfaq 6: Est-ce possible d'utiliser les expressions rationnelles de Perl pour reconnaître du texte bien équilibré ? http://perl.enstimac.fr/DocFr/perlfaq6.html#estce%20possible%20d'utiliser%2 0les%20expressions%20rationnelles%20de%20perl%20pour%20reconna%EEtre%20du%2 0texte%20bien%20%E9quilibr%E9