| KOMMANDO | Internet | Matériels | Prestations | NEXTSTEP·OPENSTEP | Formations | Partenaires | Références |
#!/usr/local/bin/perl
use LWP::UserAgent;
use HTTP::Request;
use HTTP::Response;
($nom_cherche = $ARGV[0]) =~ s/ /+/g;
$formulaire = "country=france&type=0&cv=0&num=0&nom=$nom_cherche&ville=&dep=&rub=";
$agent = new LWP::UserAgent;
$requete = new HTTP::Request ('POST', 'http://www.annu.com/annu/cgi-bin/www');
for ($dept = 1; $dept <= 95; $dept++)
{
$formulaire =~ s/dep=[^&]*&/dep=$dept&/;
$requete->header ('Content-length' => length ($formulaire));
$requete->content ($formulaire);
$reponse = $agent->request ($requete);
if ($reponse->is_success)
{
$total_reponses += traite_reponse ($reponse->content);
}
else
{
print STDERR "Echec de la rêquete pour le département $dept\n";
$debug && print $reponse->error_as_HTML;
}
}
$total_reponses && print "\n$total_reponses réponse(s) trouvée(s)\n";
sub traite_reponse
{
my ($reponse) = @_;
my ($trouves, $element, $coordonnees);
if ($reponse =~ /Nombre de personnes trouv.es : (\d+)/)
{
$trouves = ($1 > 10) ? 10 : $1;
$reponse =~ s/<HR>/----/g;
$reponse =~ s/<[^>]*>//g;
for ($element = 1; $element <= $trouves; $element++)
{
if ($reponse =~ /\n$element\n(.*?)\n----\n/s)
{
$coordonnees = $1;
$coordonnees =~ s/\n{2,}/\n/g;
$coordonnees =~ s/\351/e/g;
print "$coordonnees";
}
else
{
die "Problème d'analyse de la réponse\n";
}
}
}
else
{
$trouves = 0;
}
return $trouves;
}
Une remarque, une question ou une suggestion ? Merci de nous écrire à info@kommando.com.
KOMMANDO
Siège social : 3, rue Jacques Daguerre · 95370 MONTIGNY lès
CORMEILLES
Tél : 33 (0)6 60 60 10 48 · Fax : 33 (0)6 61 60 10 48 ·
info@kommando.com
| KOMMANDO | Internet | Matériels | Prestations | NEXTSTEP·OPENSTEP | Formations | Partenaires | Références |