[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Poids d'une page HTTP ?



On Thu, 30 Nov 2000, Stéphane Bunel  wrote:

> Bonjour,
> 
>   Je cherche un outil capable de me donner le
> poid (en octet) d'une page HTML complete. C.a.d
> en tenant compte des images, des sons, etc...
> 
J'ai pas d'outil tout pret, mais j'ai relevé le défi. Voici donc ma
participation au grand concours de programmation en langage de script.

Ma version veut avoir la page de base en locale, et les balises sur la
meme ligne dans le source. Il faut lister dans la variable "extensions"
les extensions des fichiers a compter.

Il devrait etre possible de lever ces deux limitations (quoi que, la
deuxieme ca peut etre coton), mais c'est bientot le week end, et j'ai plus
envie de jouer à ca.

Voici le script :
----- BEGIN
#! /usr/bin/perl -w
# Extensions à compter (en plus du fichier de base):
$extensions="aux gif png ps pdf gz";

$file=shift || die "Usage: $0 file\n";
open IN, $file || die "Impossible d'ouvrir le fichier $file\n";
$count=0+`cat $file|wc -c`; #+0 pour forcer le typage int

$pwd=`pwd`; chomp($pwd);
print "Compte $file ($count bytes)\n";
while (<IN>) {
    next unless m,<a href="([^"]*)">,i;
    $name=$1;
    $ext=$name;
    $ext =~ s/^.*?\.([^\.]*)$/$1/;
    unless (defined($ext) && $extensions =~ m,$ext,) {
      print "Skip $name\n";
      next;
    }
    print "Compte $name ";
    if ($name =~ m,://,) {
     $c = `wget -q -o - $name|wc -c`;
    } else {
     $c = `cat $name|wc -c`;
    }
    $c+=0; #forcage de type
    print "($c bytes)\n";
    $count +=$c;
} 
print "\nCa fait $count bytes\n";

----- END
Licence demerdenzisich (http://tnemeth.free.fr/fmbl/linuxsf/)

Bye, Mt.



Reply to: