McCrazy
Messages postés2Date d'inscriptionlundi 1 février 2010StatutMembreDernière intervention 1 février 2010
-
1 févr. 2010 à 11:54
McCrazy
Messages postés2Date d'inscriptionlundi 1 février 2010StatutMembreDernière intervention 1 février 2010
-
1 févr. 2010 à 12:00
Bonjour ,
J'essaie de parser un fichier HTML , pour y extraire des infos : Problème je ne sais comment m'y prendre car mes connaissances étant limité sur du HTML ,Perl , ....
Puisque j'apprends également du perl , alors j'ai pensé que les Regex , pourrait m'aider .
Ce que je veux faire exactement c'est trouver une expression réguliere qui me permette de 'matcher' les lignes d'un tableau , et ensuite pouvoir extraire les infos contenu dans les colonnes .
Voici un exemple du code HTML (correspondant à une ligne de tabeau)
(juste préciser que j'ai une cinquantaine de ligne dans ce genre ...)
une expression régulière pourrait etre celle ci : le problème c'est qu'elle correspond à plusieurs lignes dans le fichier HTML , alors je cherche une autre solution.. et aussi comment je peux récuperer les données dans les colonnes de cette ligne ?
]#!/usr/bin/perl
use strict;
use warnings;
# Sous-routine permettant d'entrée le fichier en CLI
sub obtient_ligne{
#demande , lit , "chompe" et renvoie une ligne d'entrée
print $_[0];
chomp(my $ligne = <STDIN>);
$ligne ;
}
my $fichierHTML = &obtient_ligne (" votre fichier HTML ?");
open IN ,$fichierHTML
or die "Impossible d'ouvrir '$fichierHTML ' en entrée : $!";
while (<>) {
if (/<tr><td>[0-9]<\/td><td>[a_zA-Z0-9_]
<\/td><td>[a_zA-Z0-9_]
<\/td><td>[a_zA-Z0-9_]<\/a>
<\/td><td>AcceptŠDeny<\/td><td>
<\/td>[a_zA-Z0-9_]<\/tr>/) {
print ;
}
}
quelqu'un pourrait -il m'aider ?
merci ...
(je constate que ma regex de la boucle if , est mise sous plusieurs lignes , alors que moi je l'ai mise sur une ligne ...)