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

Web Perl Discussion :

Problème avec ouverture de fichier


Sujet :

Web Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 21
    Par défaut Problème avec ouverture de fichier
    Bonjour à tous.

    Voila je veut enregistrer le contenu de plusieurs url contenu dans un fichier texte.

    Peut-être qu'avec le script vous comprendrez mieux

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    #!/usr/bin/perl
    use strict;
    use warnings;
    use LWP::UserAgent;
    use HTTP::Cookies;
     
    my $browser = LWP::UserAgent->new(
    			agent      => 'Mozilla/4.73 [en] (X11; I; Linux 2.2.16 i686; Nav)',
    			cookie_jar => HTTP::Cookies->new(
                file           => 'c:\wawamania.txt',
                autosave       => 1)
    										);
    my $response;
     
     
     
    				  			open F_LIRE,"liens.txt" or die "E/S : $!\n";
     
    							while(<F_LIRE>){
    							while(/<url>(.*)<\/url><titre>(.*)<\/titre>/g){
     
     
    					$response = $browser->get("$1");
    				  if ($response->is_success)  
    				  {
    					my $plaintext = $response->content;
    					open my $filehandle, ">>", "$1.html" or die "Problème lors de l'ouverture du fichier :$!\n";
    	               	printf $filehandle "$plaintext";
     
    				  }
     
     
    				}#temps que le regex marche
    				}# temps qu'on lie le fichier
    				close F_LIRE;
    Et voici ce que l'erreur que j'ai depuis ma console windows :

    C:\Users\MorGan\Desktop>files.pl
    ProblÞme lors de l'ouverture du fichier :Invalid argument
    je ne comprend vraiment pas d'ou vient l'erreur. Si vous pouviez m'aider ça serais généreux de votre part !

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 11
    Par défaut
    Le mieux serait que tu test ton fichier avant de faire quoi que ce soit.
    Utilise if (-w $dossier) ... pour voir si le dossier qui le contient est en écriture, etc etc.
    Il y a plein de tests à faire comme celui ci.
    Et affiche un message dans ton ELSE.
    Tu verras vite ce qui foire !

    Courage

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 11

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 21
    Par défaut
    Merci pour votre réponse rapide.

    Mais lorsque je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
      if ($response->is_success)  
    				  {
    					print $1;
     
    				  }
    le code fonctionne correctement. Ensuite je n'es pas vraiment compris ce que vouliez dire par les droit d'écriture. Normalement je suis censé les avoir ? car je veut que mon script créer une page pour chaque URL.

    Si vous pouviez m'éclairer ça serais aimable.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 11
    Par défaut
    Malheureusement, je ne sais pas si sous Windows, vous avez les droits d'écriture sur le bureau.
    Le problème est que le script n'est pas forcément exécuté avec les droits de votre utilisateur.
    Essayez dans un autre répertoire dans vos documents avec les droits maximums.

    Enfin ce ne sont que des pistes, je ne connais pas bien Windows du tout

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 21
    Par défaut
    Pourtant via un autre script perl je suis arriver à créer "liens.txt" sans aucun soucis ...

    EDIT : j'ai essayé depuis divers répertoire mais le résultat est toujours le même !!

  7. #7
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Je vais hasarder la suggestion qu'il y a des espaces dans $1... ou autre problème du genre.

    Par ailleurs ton indentation est complètement fantaisiste et tu passes d'un GLOB comme F_LIRE à un handle lexical, ce qui m'amène à penser que tu fais un usage un peu abusif du copier coller...

    Est-ce que tu as vraiment besoin de ta boite à cookie par exemple ? Tu l'as rempli de cookies personnel auparavant ?
    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
    24
    25
    26
    #!/usr/bin/perl
    use strict; use warnings;
    use LWP::Simple qw/$ua/;
     
    $ua->agent('Mozilla/4.73 [en] (X11; I; Linux 2.2.16 i686; Nav)'); 
     
    open my($links), '<', "liens.txt" 
      or die "Can't open liens.txt : $!\n";
     
    while(<$links>) {
      while(m{<url>\s*(\S*)\s*</url><titre>(.*)</titre>}g){
        my ($url, $title) = ($1, $2);
     
        if( my ($filename) = ($url =~ m{([^/\\]+)$}) ) {
          getstore($1, $filename);
        }
        else {
          (my $filename = $title) =~ tr{ !?*/\\}{_}d;
          getstore($1, "$filename.html");
        }
      }
    }
     
    close $links;
     
    __END__
    --
    Jedaï

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème d'ouverture de fichier avec des API
    Par Serge_BDD dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/09/2014, 11h26
  2. [XL-2007] Problème avec ouverture du fichier
    Par nabgre dans le forum Excel
    Réponses: 2
    Dernier message: 13/11/2012, 18h52
  3. Problème d'ouverture du fichier excel avec VBS
    Par Bigasse dans le forum VBScript
    Réponses: 11
    Dernier message: 16/12/2010, 13h49
  4. problème d'ouverture de fichier Excel avec Matlab
    Par Lize50 dans le forum MATLAB
    Réponses: 4
    Dernier message: 19/05/2010, 16h18
  5. Réponses: 6
    Dernier message: 12/04/2007, 14h22

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