IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Modules Perl Discussion :

Question a propos de LWP::Parallel::UserAgent


Sujet :

Modules Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 43
    Par défaut Question a propos de LWP::Parallel::UserAgent
    Bonjour j'ai quelques question a vous posea a propos de
    LWP:arallel::UserAgent
    en fait je voudrais savoir si il prend en charge la gestion des fichiers robots.txt ?

    J'ai un autre prb je cherche un tuto complet et en français sur WWW::Mechanize si vous en avez un contacter moi par MP merci !!!

    En fait cette année ont vas étudier ce module de fond en comble en plus il m'intéresse pour mon projet de web spider extracteur d'url comme HTML::LinkExtor mais qui respecte la configuration de LWP.


    Pouvez vous m'aider dans mon projet ???

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 43
    Par défaut
    Voici les pragmas que je compte mettre dans mon robot



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    use LWP::Parallel::UserAgent;
    use HTTP::Request;
    use HTTP::Response;
    use HTTP::Cookies;
     
    $ua = LWP::Parallel::UserAgent->new('Mozilla/4.0 (compatible; MonRobot/0.01111)');
       $ua->wait(0);
       $ua->protocols_allowed( ['http'] );
       $ua->timeout(4);
       $ua->env_proxy;
       $ua->requests_redirectable( ['HEAD'] );
       $ua->max_redirect(15000000000);
       $ua->protocols_forbidden( [ 'mailto', 'https', 'gopher', 'ftp', 'socks', 'file' ] );
     
       my $cookie_jar = HTTP::Cookies->new(
         file => 'lwp_cookies.dat',
         autosave => 1,
       );
       $ua->cookie_jar($cookie_jar);
     
      $ua->redirect (1);
      $ua->max_hosts(200);
      $ua->max_req  (200);

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 43
    Par défaut
    Heu bon sur le forum j'ai touvé ce robot qui est intéressant mais complexe j'ai tenter de le faire marche avec pas Perl me renvoie l'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    [Sat Sep  3 02:00:49 2005] Robot.pl: Use of uninitialized value in string eq at C:/Program Files/Perl/site/lib/LWP/Parallel/UserAgent.pm line 434.
    [Sat Sep  3 02:00:49 2005] Robot.pl: Use of uninitialized value in string eq at C:/Program Files/Perl/site/lib/LWP/Parallel/UserAgent.pm line 434.
    [Sat Sep  3 02:00:49 2005] Robot.pl: Use of uninitialized value in string eq at C:/Program Files/Perl/site/lib/LWP/Parallel/UserAgent.pm line 434.
    [Sat Sep  3 02:00:49 2005] Robot.pl: Use of uninitialized value in string eq at C:/Program Files/Perl/site/lib/LWP/Parallel/UserAgent.pm line 434.
    [Sat Sep  3 02:00:49 2005] Robot.pl: Use of uninitialized value in concatenation (.) or string at C:/Program Files/Perl/site/lib/LWP/Parallel/UserAgent.pm line 441.
    [Sat Sep  3 02:00:49 2005] Robot.pl: Use of uninitialized value in concatenation (.) or string at C:/Program Files/Perl/site/lib/LWP/Parallel/UserAgent.pm line 442.
    [Sat Sep  3 02:00:50 2005] Robot.pl: Parallel::UserAgent can not handle ''-requests. Request ignored! at C:\Documents and Settings\Teddy\Bureau\Robot.pl line 97
    Can't call method "content_type" without a package or object reference at C:\Documents and Settings\Teddy\Bureau\Robot.pl line 98.



    #!/usr/bin/perl -w
    use strict;
    use HTML::LinkExtor;
    use URI::URL;
    use HTTP::Request;
    use HTTP::Response;
    use HTML::LinkExtor;
    use LWP:arallel::UserAgent;

    my $VERSION = "Monrobot/1.01 (+http://shunix.com)";

    $| = 1;




    my @startlinks = (
    "http://www.wanadoo.fr",
    "http://danzcontrib2.free.fr"
    );

    my $ua = LWP:arallel::UserAgent->new();
    $ua->agent('Mozilla/5.0 (compatible; Monrobot/1.1)');
    $ua->wait(0);
    $ua->protocols_allowed( ['http'] );
    $ua->timeout(4);
    $ua->env_proxy;
    $ua->requests_redirectable( ['HEAD'] );

    $ua->max_redirect(15000000000);
    $ua->protocols_forbidden( [ 'mailto', 'https', 'gopher', 'ftp', 'socks', 'file' ] );


    $ua->redirect (1); # prevents automatic following of redirects
    $ua->max_hosts(200); # sets maximum number of locations accessed in parallel
    $ua->max_req (200); # sets maximum number of parallel requests per host

    sub spider (%);

    spider URL => '$url';

    sub spider (%) {
    my %args = @_;

    push(@startlinks, $args{URL});


    WORKLOOP: while (my $link = shift @startlinks) {

    for (my $i = 0; $i< $#startlinks; $i++) {
    next WORKLOOP if $link eq $startlinks[$i];
    }
    print ">>>>> working on $link\n";
    HTML::LinkExtor->new(
    sub {
    my ($t, %a) = @_;
    my @links = map { url($_, $link)->abs() }
    grep { defined } @a{qw/href img/};

    foreach my $start_link (@startlinks) {
    my $i = 0;
    for (0 .. $#links) {
    if ($links[$i++] eq $start_link) {
    $links[$i -1] = "'REMOVE'";
    }
    }
    }

    @links = sort @links;
    for (my $i = 0; $i< $#links; $i++) {
    $links[$i] = "'REMOVE'" if $links[$i] eq $links[$i +1];
    }
    @links = grep { $_ ne "'REMOVE'" } @links;

    print "+ $_\n" foreach @links;

    push @startlinks, @links if @links;
    } ) -> parse(
    do {
    my $r = $ua->simple_request(HTTP::Request->new("GET", $link));
    $r->content_type eq "text/html" ? $r->content : "";
    }
    )
    }
    }

Discussions similaires

  1. LWP::Parallel::UserAgent et erreur 401
    Par archadius dans le forum Modules
    Réponses: 1
    Dernier message: 10/06/2009, 12h24
  2. fonction register dans LWP::Parallel::UserAgent
    Par ardoise dans le forum Modules
    Réponses: 4
    Dernier message: 23/01/2009, 15h08
  3. Question a propos de LWP
    Par goblin dans le forum Web
    Réponses: 3
    Dernier message: 19/01/2006, 07h43
  4. Question a propos des modulos
    Par barthelv dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 24/03/2005, 15h56
  5. [debutant] Questions a propos du XML
    Par brune dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 04/06/2004, 09h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo