use strict; use locale; use XML::Simple; use Encode; use URI::URL; use LWP::Simple; if ( $#ARGV != 0 ) { die "Usage : $0 requete\n"; } my $requete = encode ("utf8", $ARGV[0]); #Insérez ci-dessous l'identifiant obtenu auprès de Live Search #http://www.bing.com/developers my $identifiant = "XXX" ; my $url = url("http://api.search.live.net/xml.aspx"); $url->query_form( appid=>$identifiant, query=>$requete, Sources=>"Web", "Web.Market"=>"fr-FR", "Web.Count"=>50, #max "Web.Offset"=>0, "Web.Options"=>"DisableQueryAlterations" ); my $reponse_Live= get($url); if ( defined( $reponse_Live ) ){ my $arbre_XML = XMLin($reponse_Live, ForceArray =>["web:WebResult", ]); my $nb_docs = $arbre_XML -> {"web:Web"}->{"web:Total"}; print "TOTAL : ", $nb_docs,"\n"; if ( defined ( $arbre_XML->{"web:Web"}->{"web:Results"} ) ) { my @resultats = @{$arbre_XML->{"web:Web"}->{"web:Results"} -> {"web:WebResult"}}; foreach my $document (@resultats){ print "---\n"; my $titre = normalise_latin1( $document->{"web:Title"} ); print "TITRE : ", $titre, "\n"; my $URL = $document->{"web:Url"}; print "URL : ",$URL,"\n"; my $desc = normalise_latin1( $document->{"web:Description"} ); print "DESCRIPTION : ",$desc,"\n"; } } } else { die "Problème de la part de Live !\n"; } sub normalise_latin1 { my $chaine = shift @_; $chaine =~ s/[\x{2018}\x{2019}]/\'/g; $chaine =~ s/[\x{201C}\x{201D}]/\"/g; $chaine =~ s/[\x{2013}\x{2014}]/-/g; $chaine =~ s/\x{2026}/.../g; $chaine =~ s/\x{0152}/OE/g; $chaine =~ s/\x{0153}/oe/g; $chaine =~ s/[^\x{0000}-\x{00FF}]//g; return $chaine; }