• # Utilise perl + LWP + HTML::Form + HTML::Parser

    Posté par . En réponse au message Aspirer un site avec plein de JavaScript. Évalué à 3.

    Je ne pense pas que tu puisses faire ça avec wget. En revanche tu peux faire ça avec perl et quelques petits modules, notamment HTML::Parser, et HTML::Form. Tu peux écrire des choses comme ça :
     
     my $url = 'http://annuairetic.paysdelaloire.cci.fr/index.asp?from=2&(...)
     my $ua = LWP::UserAgent->new(
     agent => 'Mozilla/4.73 [en] (X11; I; Linux 2.2.16 i686; Nav)' );
     
     # récupère le formulaire la première fois. 
     $req = HTTP::Request->new( GET => "${url}" );
     # envoie la requête HTTP
     $res = $ua->request($req);
     die $res->status_line if not $res->is_success;
     # récupère le formulaire HTML (ici, le premier de la page, de toute
     # façon c'est le seul) ...
     $form = ( HTML::Form->parse( $res->content, $url ) )[0];
     # on remplit la zone d'input avec "Informatique"
     $form->find_input('MotsCles')->value("Informatique");
     # on soumet le formulaire ...
     $res = $ua->request( $form->click );
     die $res->status_line if not $res->is_success;
     # tu as maintenant les résultats dans $res->content
     ...
    
    Code non testé sur ce formulaire précis, mais enfin voilà l'idée ...