1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
#######################################
# usage : perl htmltotext.pl <rep>
use HTML::FormatText;
use HTML::TreeBuilder;
use Time::HiRes qw(gettimeofday);
my $debut = gettimeofday; # date de debut de programme
#le chemin vers le repertoire
my $dir=$ARGV[0];
#ouvrir le repertoire
opendir(DIR, $dir) or die "je ne peux pas : $!";
my @listeDeFichier= grep {/\.html?$/} (readdir DIR);
#ordonner les fichiers
my @listeOrdonnee = sort(@listeDeFichier);
#fermer le fichier
close(DIR);
#affiche quelques statistiques
print "+--------------------------------------------------+\n";
print "Nom du repértoire : $dir\n";
print "Nombre de fichiers : " . (scalar(@listeOrdonnee))."\n";
print "Noms des fichiers : ---------\n";
#Traitement sur la liste des fichier
foreach my $fichier (@listeOrdonnee) {
print "######################################\n";
print $dir.'/'.$fichier."\n";
my $taille = -s $dir."/".$fichier;
print "$fichier \t $taille octets\n";
$tree = HTML::TreeBuilder->new(); # create TreeBuilder
$tree->parse_file($dir."/".$fichier); # parse file
$formatter = HTML::FormatText->new(); # formatter object
open (R, ">$dir"."/"."$fichier.txt") || die "erreur de création du fichier :$fichier.txt\n";
my $texteTXT = ($formatter->format($tree));
$texteTXT =~ s/<[^>]+>//g;
$texteTXT =~ s/\[IMAGE\]//g;
#$texteTXT =~ s/(\n\s*)+/\n/g;
#$texteTXT =~ s/(--)+(-)?([.©\n]*)+//g;
print R $texteTXT;
close(R) || die "erreur de fermeture du fichier $fichier.txt\n";
}
my $tempsTotal = gettimeofday-$debut;
print "temps d\'execution total: $tempsTotal\n"; |
Partager