[Limite de 256 HTTP/HTML]
Le
Philippe
Bonsoir,
Aucune idée d'où ceci peut provenir J'ai écrit un module qui va faire
des requêtes sur le Web, du genre du module WWW::Search::Pagesjaunes
mais ce sont des requêtes sur des pages et non sur des formulaires.
Le script fonctionne très bien jusqu'à la limite de 256 lignes écrites
dans le fichier de sortie (du texte tabulé).
J'avoue (est-ce l'heure ?) que je ne comprends pas.
Toute aide sera la bienvenue.
perl5.6.1, linux Debian Woody.
Philippe
Aucune idée d'où ceci peut provenir J'ai écrit un module qui va faire
des requêtes sur le Web, du genre du module WWW::Search::Pagesjaunes
mais ce sont des requêtes sur des pages et non sur des formulaires.
Le script fonctionne très bien jusqu'à la limite de 256 lignes écrites
dans le fichier de sortie (du texte tabulé).
J'avoue (est-ce l'heure ?) que je ne comprends pas.
Toute aide sera la bienvenue.
perl5.6.1, linux Debian Woody.
Philippe

Poser une question


Un disque local plein tout simplement ?
257 ou 329 ? Et ça se répète.
Merci.
Philippe
Et si tu nous donnais ton code, ou au moins un morceau minimal qui
reproduise cet effet pour pouvoir essayer chez nous ?
Voici mon erreur, si mon interprétation est mauvaise merci de corriger:
Voici le code initial:
#
# On recherche la "page suivante"
my $oparser = HTML::TokeParser->new( $page );
while (my $token = $oparser->get_tag("a")) {
my $url = $token->[1]{href} || '-' ;
my $text = $oparser->get_trimmed_text("/a");
if ($text eq 'Suivant') {
$url = URL .$url ;
$page = $self->{ua}->request(GET $url)->content ;
}
}
Voici le code modifie
#
# On recherche la "page suivante"
my $oparser = HTML::TokeParser->new( $page );
my $newpage ;
^^^^^^^^^^^^^
while (my $token = $oparser->get_tag("a")) {
my $url = $token->[1]{href} || '-' ;
my $text = $oparser->get_trimmed_text("/a");
if ($text eq 'Suivant') {
$url = URL .$url ;
$newpage = $self->{ua}->request(GET $url)->content ;
^^^^^^^^
}
}
$page = $newpage ;
Que j'interprète comme ceci:
je change en cours de lecture le contenu d'une référence ($page). En
utilisant une variable intermédiaire, je protège la recherche et le
résultat. Reste que ça marche sur un certain nombre de page (256) avant
de "planter"...
Philippe
« planter » comment ? y a un message d'erreur de perl ? tu utilises LWP
? message d'erreur de LWP ? essaye de verifier les réponses de tes
request() avec `is_success()' avant de prendre le contenu...
Si tu utilises `WWW::Mechanize' (a la place de LWP) tu peux éviter de
parser toi même le HTML en utilisant un `find_link( text_regex =>
qr/Suivant/ );' par exemple.