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 :

[debutant] lister tout les mots d'une page web!


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
    Février 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 35
    Par défaut [debutant] lister tout les mots d'une page web!
    bonjour à tous!
    Les questions encore sans réponse sont écrites en rouges... comme ça vous avez pas besoin de tout lire!

    voila, j'aimerais créer un petit programme en perl permettant de visualiser une page web quelquonque et de lister tout les mot de cette page dans un nouveau fichier les uns en dessous des autres.

    seulement c'est déja un gros défi pour moi!

    j'ai déja une grosse interrogation:
    Peut on faire parcourir une page web avec un programme uniquement sur l'ordi, ou faut il que ce programme soit heberger sur un serveur (cgi ou un bidule dans le genre... oui je débute )

    Alors voici comment je pense procéder:
    -ouverture de la page web
    -mettre tout les mots dans un tableau
    -mettre le contenu du tableau dans un fichier txt.

    Alors encore quelques questions:
    -quelle fonction utiliser pour lister une page? j'avais penser a split avec comme motif un espace, mais je ne sais pas quoi mettre comme chaine de caractère (car il faut mettre le texte en entier)
    un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    split (' ', variable contenant tout le texte)
    -que vois perl quand il ouvre un doc .html? la source ou juste le texte que l'on voit quand on charge la page normalement?


    m'enfin voili voilou...
    si vous pouviez m'aider un petit peu, ca serait super gentil

  2. #2
    Membre confirmé Avatar de elvivo
    Inscrit en
    Mai 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 105
    Par défaut
    La page que tu veux parser, tu dois en connaitre le code html non ?
    A partir de la tu peux utiliser des regexp pour analyser chaque ligne que tu lis dans la page vu que tu connais les motifs que tu recherches.

    Pour consulter la page tu peux faire ca depuis chez toi. Soit tu utilises des sockets (je fais ca moi) soit tu te sers d'un module (je ne sais plus lequel mais il y en a un il me semble qui permet de causer a un serveur web).

  3. #3
    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
    Citation Envoyé par elvivo
    Pour consulter la page tu peux faire ca depuis chez toi. Soit tu utilises des sockets (je fais ca moi) soit tu te sers d'un module (je ne sais plus lequel mais il y en a un il me semble qui permet de causer a un serveur web).
    elvivo tu utilises des Sockets pour faire du HTTP ? Je te conseille fortement de passer à LWP, tes programmes ne pourront qu'y gagner en lisibilité !

    --
    Jedaï

  4. #4
    Membre confirmé Avatar de elvivo
    Inscrit en
    Mai 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 105
    Par défaut
    Oui j'utilises des sockets. Ca ne me semblait pas si complique que ca et je passais un proxy http. Mais je regarderai du cote de lwp ^^

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 35
    Par défaut
    Merci beaucoup pour vos réponse même si pour l'instant c'est du chinois pour moi!
    Je repose donc une question dont je suis suceptible de comprendre la réponse (lol paye ton boulet ce vjonas ) :pour ouvrir une page web, on ne peut utiliser la fonction "open"?
    ou une autre fonction?
    ou aucune fonction?

    J'ai commencé a travailler sur le sujet: je vous fais part de ma progression!
    j'avance petit à petit: pour l'instant je liste un fichier texte sur mon disque dur...
    c'est moins dur, et ça me permet de comprendre!

    voila ce que je code pour faire ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #!usr/bin/perl -w
    open (TEXTE,"texte.txt");
    open (RESULTAT, ">resultat.txt");
    while ($ligne=<TEXTE>) {
     my @tab;
     $ligne=~s/[.,!,,]//g;
     print "$ligne\n";
     @tab= split (' ',"$ligne");
     push (@tab,"\n");
     print RESULTAT join("\n", @tab);
    }
    close TEXTE;
    close RESULTAT;
    voici mon fichier texte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    j'ecris dans le fichier TEXTE un petit texte...
    oui!
    et hop, une virgule.
    c'est cool ca!
    ca me fait une bonne jambe!
    on dit une belle jambe!!!
    ok
    et mon fichier résultat (apres lancement du programme):
    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
    j'ecris
    dans
    le
    fichier
    TEXTE
    un
    petit
    texte
    oui
    et
    hop
    une
    virgule
    c'est
    cool
    ca
    ca
    me
    fait
    une
    bonne
    jambe
    on
    dit
    une
    belle
    jambe
    ok
    quelques précisions sur mon code:
    -le "push" est vraiment moche, j'en suis conscient! c'était un test! en fait c'était pour que dans mon fichier le dernier élément du tableau de la 1ere ligne ne soit pas collé avec le premier élement du tableau de la deuxième ligne...
    Mais pour faire un truc mieux, il faudrait modifier le dernier élément du tableau en rajoutant un "\n". Je cherche donc une expression qui permet d'avoir le dernier indice d'un tableau pour la modifier, mais je ne connais pas cette expression... (sinon je peux toujours faire un truc du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $taille=@tableau;
    $dernierindice=$taille -1;
    Mais bon, c'est pas super beau non plus...)

    EDIT: j'ai retrouver l'expression pour avoir le dernier indice du tableau $#tableau

    -il y a surement des fonctions plus adaptées pour lister les mots d'un fichier, mais je ne les connais pas pour l'instant et il faut bien que j'apprene a me servir des fonctions que j'ai commencé a voir...



    merci pour votre aide!

  6. #6
    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
    Citation Envoyé par vjonas
    Merci beaucoup pour vos réponse même si pour l'instant c'est du chinois pour moi!
    Je repose donc une question dont je suis suceptible de comprendre la réponse (lol paye ton boulet ce vjonas ) :pour ouvrir une page web, on ne peut utiliser la fonction "open"?
    ou une autre fonction?
    ou aucune fonction?
    Suis le lien que je t'ai donné dans mon message, il donne sur un article qui t'expliquera comment faire en détail.

    --
    Jedaï

Discussions similaires

  1. Comment lister toutes les tables d'une BD ?
    Par jmulans dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/11/2007, 19h29
  2. Modifier toutes les URL d'une page apres chargement.
    Par landsteph dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/08/2007, 21h11
  3. Connaitre tout les éléments d'une page html
    Par flo_k dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/04/2007, 14h18
  4. Réponses: 2
    Dernier message: 14/08/2006, 19h23
  5. [MySQL] lister toutes les tables d'une base
    Par Tr@nkill dans le forum Langage SQL
    Réponses: 8
    Dernier message: 14/04/2006, 14h45

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