Forum Programmation.web extraction sur page html

Posté par  .
Étiquettes : aucune
0
25
mai
2007
Bonjour,
je cherche de l'aide. Je cherche un moyen pour extraire d'un fichier html, tout les titres et les paragraphes, structures de la maniere suvante.

NOM DE L'AUTEUR
titre du document (en gras)
resumé du document (paragraphe normale)
editeur annee de sortie (en gras)

exemple:
R. Abirached

Casanova ou la dissipation


Federico Fillini reconnaissait de bonne grâce que le livre de Robert Abirached (1961) avait inspiré son film (1976) : un portrait sans complaisance du célébrissime aventurier vénitien... Séducteur, certes, infatigable baiseur, oui, mais aussi charlatan mondain, tricheur invétéré, pique-assiette international et parasite professionnel, abusant des préjugés de son temps, obsédé par son apparence et prêt élégamment à tout, incapable de créer mais sachant donner l’impression du génie, expert dans l’art d’accommoder son néant - bref, un flamboyant faux jeton.

Casanova, dernier aventurier de l’Europe baroque, révèle de troublantes similitudes avec l’homme moderne qui s’agite au lieu d’agir, consomme le monde au lieu de vivre. Avant Guy Debord et sa « Société du spectacle », Robert Abirached décrit avec brio l’homme du spectacle, pantin mécanique affublé d’une liberté postiche et courant à la poursuite du bonheur... Celui de « raconter » fut peut-être le seul, accomplissement de Casanova. Chez Abirached, dans un sourire, le mystère littéraire rachète « in extremis » la vaine gloire du gigolo.


Editions Titanic / 1996 / 163 pages
....


j'ai pensé y arriver par le moyen de script bash a partir du code source html, >>echec, le decollage impossible :-)

Quelqu'un a une solution pour automatiser l'extraction?

Merci pour vos reponses.
  • # html2text

    Posté par  (site web personnel) . Évalué à 4.

    Le programme html2text te convient-il ?
    • [^] # Re: html2text

      Posté par  . Évalué à 1.

      Ca extrait le contenu du fichier html effectivement. Merci pour ce bel outil
  • # entrée

    Posté par  . Évalué à 1.

    Tu as donné le résultat que tu veux obtenir, mais tu ne dis pas à quoi ressemble le document en entrée. Pour poster du code html sur ce site il faut le préciser au moment de l'envoi, par contre.

    Si ton fichier en entrée est en xhtml, tu peux utiliser un outil de parsing xml soit dans ton langage préféré, soit avec un outil comme xmlstarlet. Des requêtes xpath seraient très efficaces.

    Si ce n'est pas du xml, le mieux est d'utiliser une librairie de parsing html, en ruby/python/perl/php/etc...
    • [^] # Re: entrée

      Posté par  . Évalué à 1.

      Merci pour ton intervention. Le document html se presente comme sur l'exemple de R. Abirached (premier sur le document).
      Je vais me renseigner sur les outils de parsing. Je ne connai aucun des langages que tu as cite. Le but de cette extraction est de pouvoir creer une base de donnee, par la suite.
      au format:

      auteur|titre|resume|infos_divers

      par le moyen de redirection c'est pour ca que j'ai pense au shell. j'ai cree le script, il demande la categorie du champ extrait (auteur,titre etc...) et renvois le champ extrait dans un fichier texte, mais on s'y perd puisque le document est enorme, j'abandonne le script pour le moment.


      Un probleme tres complexe pour mon niveau d'etudiant de premiere annee d'informatique. Dans la mesure ou le document en question peut contenir plusieurs format different.


      exemple:
      auteur
      titre
      resume
      infos_divers

      titre (du meme auteur)
      resume
      infos_divers

      autre auteur
      titre
      resume
      infos_divers

      titre
      resume
      infos_divers

      un exrtait:
      Michel CORVIN

      Lire la Comédie


      L’ambition de cet ouvrage est double. D’une part, l’auteur envi­sage la comédie comme genre. En cela, il montre que la comé­die répond à une définition qui doit moins aux quelques lignes qu’Aristote lui a consacrées qu’à un examen attentif de......


      Editions Dunod / 1993 / 168 pages



      Le Théâtre nouveau en France


      Analyse de la dramaturgie nouvelle, les lignes de force du théâtre d'avant-garde, du théâtre poétique, réaliste, politique...


      Editions PUF Que sais-je / 1995 / 127 pages




      Frédéric DURAND & Thierry PAVELAK

      Le psychojonglage

      à la découverte du jongleur et de son langage gestuel


      Le livre de la Jongle est une enquête. Le but du jeu ? Epingler le personnage du jongleur ........


      Edité à compte d’auteur par l’association BIOCIRCUS / 1999 / 251 pages




      -------
      Merci d'avoir pris le temps de lire ce long commentaire, j'espere avoir ete clair.
      • [^] # Re: entrée

        Posté par  . Évalué à 1.

        Je dois avouer que je n'ai pas compris toute ton histoire sur les differents formats que tu as. Tu veux dire que tous les documents html n'ont pas la même structure ?

        Il faudrait que tu nous montre des exemples de code html que tu as en entrée (avec les balises surtout). Pour que les balises s'affichent dans ton commentaire, tu dois sélectionner "texte sans html" avant de poster ton message.
        • [^] # Re: entrée

          Posté par  . Évalué à 1.

          Ah tiens au fait, elles sont accessible en ligne quelque part, ces pages html ?
        • [^] # Re: entrée

          Posté par  . Évalué à 1.

          Je vais tenter d'etre le plus clair possibe. Mais plus je pense a cet objectif et plus j'ai l'impression de m'eagarer.

          J'ai resolu mon probleme par un script bash que je publie plus bas. Je dois avouer que mon probleme etait assez long a expliquer. Surtout que les documents dont j'ai parlé ne figurent sur aucune page sur le web.Je passe par plusieurs etape en utilisant text2html, gedit, un script fais maison, gnumeric (pour structurer avec des separateurs) et enfin phpmyadmin pour construire mes tables mysql.

          "Je dois avouer que je n'ai pas compris toute ton histoire sur les differents formats que tu as. Tu veux dire que tous les documents html n'ont pas la même structure ?"

          je n'est pas parlé de format
          j'ai parlé de structure au niveau de l'enregistrement des informations, la maniere dont les livres sont copié dans le fichier html
          «
          NOM DE L'AUTEUR

          titre du document (en gras)

          resumé du document (paragraphe normale)

          editeur annee de sortie (en gras)

          » (sur des centaines de pages)

          -------------------------------------------------------------

          Il ya des fois où un de ces paragraphes manque, je voulais pouvoir extraire les donnees du fichier html(par ma premiere idee un script bash, j'ai reussi grace a l'outil recommande 'html2text' plus haut ou avec un parseur comme recommande) puis les classer dans un fichier texte structuré, je remplaces les sauts de ligne par des ' @' à l'aide de gedit. j'obtiens:
          auteur@titre_doc@resumé@infos_editeur@)

          exemple:
          "Sandra J. ALBERT@14 février Saint-Valentin@Dans un bureau de placement de New-York dont les affaires ne vont plus très bien, les employées traitent plus de leurs problèmes personnels qu'elles ne font avancer les dossiers ! Et leurs affaires de c½urs en particulier vont remonter à la surface ce 14 février, jour de la St Valentin.@Comédie psychologique avec 7 personnages : 7 femmes - Editions de la Traverse / décembre 1997@Jean-Paul ALEGRE@La Ballade des planches@« La Ballade des planches » se compose, comme « Sur un plateau » d’une série de courtes pièces sur les situations absurdes qui peuvent se produire sur un plateau ayant pour seul thème : le théâtre. L’histoire qu’elles racontent est celle que les troupes, professionnelles ou non, vivent au rythme des saisons, - théâtrales bien entendu. Les comédiens plongent dans un méli-mélo de personnages et d’intrigues, parce qu’ils sont à la recherche « de la bonne réplique » plutôt que du bon texte, spéculant sur la longueur du rôle et non sur la qualité dramatique. Ce qui nous vaut six comédies, la loufoque : « Dernière répétition », une inénarrable : « Le petit chemisier », la grotesque : « Vivons heureux en attendant la mort », la satirique : « Soyons bref », la burlesque : « C’est dur de faire l’Europe » qui invente un idiome latino-gréco-slavo-anglo-saxon des plus réjouissants, et une fantastique : « Les explorateurs », le tout assaisonné des « chants » du matériel. Quand les projecteurs auront été « débranchés », le tube de fond teint « revissé », la « planche qui craque » « rabotée », le « vieux rideau » « démonté », les costumes « rangés », les messages publicitaires passés, au détriment des pièces, que restera-t-il de la création sinon le rire ? Les scènes sont reliées par des chants, mais chacune des pièces peut-être jouée de manière indépendante.@Comédie avec une distribution évolutive de 3 à 20 personnages - Editions L’Avant-Scène n° 1004 / 15 février 1997@Jean-Paul ALEGRE@C’est Jean Moulin qui a gagné !@Le nom de Jean Moulin s’inscrit au fronton des écoles et sur les plaques des rues de nos villes. Aujourd’hui, il existe des petits Mathieu, Stéphane, Patrice, Djamel, William et Maxime, des collégiens passionnés de foot, qui savent confusément que Jean Moulin est un grand résistant, mais qui ne connaissent pas bien les événements historiques. Or, Jean Moulin était aussi un haut fonctionnaire intègre, un caricaturiste de renom, un homme qui aimait les femmes, la musique, la poésie, la peinture, la vie tout simplement... Mais il a croisé un certain Klaus Barbie, le 21 juin 1943...@Drame historique avec 30 personnages - Editions L’Avant-Scène n° 1085 /1er mars 2001@Jean-Paul ALEGRE@"


          , puis ensuite les importes sur une base de donnee mysql en utilisant CSV par phpmyadmin et les fonctions d'importation de gnumerique pour les separateurs.

          je vous met le script, il est assez long mais me permet d'extraire les champs depuis du texte brut et de classer les infos par un jeu de redirection, juste avant d'importe dans phpmyadmin.

          Le scripts contient beaucoup d'erreurs mais fonctionne quand meme (je l'ai ecrit).
          Il demande a chaque fois si le champs du texte extrait est un "auteur, titre, resume ou autre". Moi je reponds, et le script positionne le champ en question dans un fichier de sortie (celui qui servira a l'importation mysql).



          un exemple du resultat attendu par le script, le separateur choisi est le "|":

          Module|Sous-partie|Auteur|Titre|Resume|Info-supplementaire|
          THEATRE ET JEUNESSE|Pédagogie|Sylvette Pagan|Maquillages d’enfants|Du bout des mains, devenez un peu fée avec Sylvette Pagan et toute sa troupe. Des maquillages bavards, des maquillages coquins, des costumes faciles et colorés, des perruques, des postiches pour tous les enfants les plus sages et les plus délurés.|Editions Fleurus Idées / 1989 / 48 pages|
          THEATRE ET JEUNESSE|Pédagogie|SNAZAROO|Maquillages en cinq minutes|Réussissez comme un professionnel de superbes maquillages de fête en moins de cinq minutes ! Ce livre vous présente une méthode simple et rapide pour transformer les enfants en Pierrot et en clown, en princesse ou en sorcière. Le succès est garanti pour toutes les fêtes : Carnaval, anniversaires, kermesses, et... Vous trouverez dans ce livre : 30 modèles facile à faire ; des photos couleur de chaque maquillage ; un guide du matériel à employer ; des conseils techniques ; des idées toutes simples pour réaliser les accessoires indispensables.|Editions Fleurus Idées / 1992 / 46 pages|
          THEATRE ET JEUNESSE|Pédagogie|Association Nationale de Recherche et d’Action Théâtrale en Milieu Scolaire et Universitaire|L’Enfant, le jeu, le théâtre - Autour des pratiques dramatiques à l’école primaire|Les activités théâtrales et dramatiques se développent en milieu scolaire : classes d’ini­tiation, ateliers, options, formations... Qu’en est-il des pratiques avec des jeunes enfants, à l’école élémentaire ? Quels sont les enjeux, les écueils, les perspectives dans ce domaine ? Exemples, points de vue, témoignages, réflexions.., sont rassemblés dans ces deuxièmes « Cahiers Théâtre/Education » proposés par L’ANRAT (Association Nationale de Recherche et d’Action Théâtrale).|Edition Actes Sud-Papiers / 1990 / 84 pages|
          ........................................

          Mon probleme:
          Il peut manquer des champs dans le document, c'est pour ca que j'ai ecrit le script, celui ci remplace les champs manquants par 'XXX'





          voici le script:

          #extrait les champs auteur,titre,categorie,infos generales
          #sytaxe $fic ./entete ./theme ./info
          #1 prends l'entete de la table (fichiers entete, paramettre 1)
          #2 prends les premieres rubriques content le module et la sous partie (fichier theme parametre 2)
          #3 recupere les champs sur le texte brut (parametre 3)
          #4 sortie de la table au complet (sur le fichier table)

          clear
          echo structure du fichier
          cat ./$1
          echo $(cat ./$1)>table

          cpt=1
          cpt_champ=0
          fin="EOF"

          #infos_divers="*"
          auteur="*"
          titre="*"
          resume="*"
          infos_sup="*"
          dernier_champ_traite=""
          est_ligne_copie="vrai"
          res=$(cat $2)

          while [ "$champ" != "$fin" ]
          do

          champ=$( cat $3 | grep "@" | cut -d "@" -f $cpt )

          if [ "$champ" != "$fin" ]
          then
          echo " "
          echo $champ
          echo Que faire du champ? \(i\/num de position \(1,2,3,4\) \/v \(vide\)\/c \(concatener\)\/n \(nouvel enregistrement\)\)

          read choix

          case $choix in
          i) echo ignore;;
          v) echo champ vide;res=$res\*\|;dernier_champ_traite="";cpt_champ=$(expr $cpt_champ + 1);echo $res;;
          c) echo concatene;res=$res$dernier_champ_traite$champ;;
          n) echo nouvelle ligne;dernier_champ_traite="";auteur="";titre="";champ="";est_ligne_copie="faux";res="";;
          1) res=$res$champ\|;auteur=$champ;dernier_champ_traite=$auteur;cpt_champ=$(expr $cpt_champ + 1);;
          2) res=$res$auteur\|$champ\|;titre=$champ;dernier_champ_traite=$titre;cpt_champ=$(expr $cpt_champ + 1);;
          3) res=$res$auteur\|$titre\|$champ\|;resume=$champ;dernier_champ_traite=$resume;cpt_champ=$(expr $cpt_champ + 1);;
          4) res=$(cat $2)$auteur\|$titre\|$resume\|$champ\|;infos_sup=$champs;dernier_champ_traite=$infos_sup;cpt_champ=$(expr $cpt_champ + 1);est_ligne_copie="faux";;
          #'@' marque une ligne invalide
          *) echo choix invalide!;dernier_champ_traite="";auteur="";titre="";champ="";est_ligne_copie="vrai";res="";echo @>>./table;;
          esac

          cpt=$(expr $cpt + 1)
          fi

          if [ $cpt_champ -eq 4 ]
          then
          est_ligne_copie="faux"
          fi

          if [ "$est_ligne_copie" != "vrai" ]
          then
          echo $res>>./table
          est_ligne_copie="vrai"
          cpt_champ=0
          fi

          if [ "$champ" != "$fin" ]
          then
          echo ligne a copier\: $res
          fi
          done


          ------------------------------------------------------------------------------------------------
          MERCI BEAUCOUP A CEUX QUI M'ONT LU, MERCI POUR VOS COMMENTAIRES j'ai mis le script pour bien me faire comprendre, j'espere que c'est reussi ;-). DESOLE POUR LES FAUTES D'ORTHO.
          • [^] # Re: entrée

            Posté par  . Évalué à 1.

            Moi je veux bien t'aider, mais bon le titre de ton post à la base c'est "extraction sur page html".

            Et pour l'instant j'ai toujours pas vu une seule balise html !
            • [^] # Re: entrée

              Posté par  . Évalué à 1.

              Ouais, je te remercie, mais j'ai deja eu un logiciel pour ca, html2text. 2eme commentaire.
              Le logiciel extrait tout d'un seul coup.
              C'est pas tres mal, mais un parseur me conviendrais mieux. Je ne sais pas vraiment comment ca marche mais j'imagine qu'il extrait par exemple chaque categorie (paragraphe et titre).

              Le code html n'a pas vraiment beaucoup d'interet pour moi. Je te le montre plus bas:


              <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
              <html>
              <head>

              <meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8">
              <title></title>


              <meta name="GENERATOR" content="OpenOffice.org 2.0 (Linux)">

              <meta name="AUTHOR" content="dev">

              <meta name="CREATED" content="20070524;13470700">

              <meta name="CHANGEDBY" content="dev">

              <meta name="CHANGED" content="20070524;13474400">

              <style type="text/css">
              <!--
              @page { size: 21cm 29.7cm; margin: 2cm }
              P { margin-bottom: 0.21cm }
              -->
              </style>
              </head>


              <body style="direction: ltr;" lang="fr-FR">

              <p style="margin-bottom: 0cm;"><br>

              </p>

              <p style="background: rgb(0, 0, 0) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; margin-left: -0.25cm; margin-right: 12.5cm; margin-bottom: 0cm;" align="center">
              <font face="Verdana, sans-serif"><font size="3"><b>Robert
              ABIRACHED</b></font></font></p>

              <p style="margin-bottom: 0cm;"><b><i><font face="Georgia, serif"><font style="font-size: 16pt;" size="4"> </font><u><font size="3">Casanova
              ou la dissipation</font></u></font></i></b></p>

              <p style="margin-bottom: 0cm;"><br>

              </p>

              <p style="margin-bottom: 0cm;" align="justify"><font face="Georgia, serif"><font style="font-size: 11pt;" size="2"> Federico
              Fillini reconnaissait de bonne gr&acirc;ce que le livre de Robert
              Abirached (1961) avait inspir&eacute; son film (1976) : un portrait
              sans complaisance du c&eacute;l&eacute;brissime aventurier
              v&eacute;nitien... S&eacute;ducteur, certes, infatigable
              baiseur,
              oui, mais aussi charlatan mondain, tricheur
              inv&eacute;t&eacute;r&eacute;,
              pique-assiette international et parasite professionnel, abusant des
              pr&eacute;jug&eacute;s de son temps,
              obs&eacute;d&eacute; par son
              apparence et pr&ecirc;t &eacute;l&eacute;gamment
              &agrave; tout,
              incapable de cr&eacute;er mais sachant donner
              l&rsquo;impression du
              g&eacute;nie, expert dans l&rsquo;art d&rsquo;accommoder
              son n&eacute;ant -
              bref, un flamboyant faux jeton.</font></font></p>

              <p style="margin-bottom: 0cm;" align="justify"><font face="Georgia, serif"><font style="font-size: 11pt;" size="2">Casanova,
              dernier aventurier de l&rsquo;Europe baroque,
              r&eacute;v&egrave;le de
              troublantes similitudes avec l&rsquo;homme moderne qui
              s&rsquo;agite au lieu
              d&rsquo;agir, consomme le monde au lieu de vivre. Avant Guy Debord
              et sa
              &laquo;&nbsp;Soci&eacute;t&eacute; du
              spectacle&nbsp;&raquo;, Robert
              Abirached d&eacute;crit avec brio l&rsquo;homme du spectacle,
              pantin
              m&eacute;canique affubl&eacute; d&rsquo;une
              libert&eacute; postiche et
              courant &agrave; la poursuite du bonheur... Celui de
              &laquo;&nbsp;raconter&nbsp;&raquo;
              fut peut-&ecirc;tre le seul, accomplissement de Casanova. Chez
              Abirached, dans un sourire, le myst&egrave;re litt&eacute;raire
              rach&egrave;te &laquo;&nbsp;in
              extremis&nbsp;&raquo; la vaine gloire
              du gigolo.</font></font></p>

              <p style="margin-bottom: 0cm;" align="justify"><br>

              </p>

              <p style="margin-bottom: 0cm;" align="justify"><font size="3"><font face="Book Antiqua, serif"> </font></font><b><font style="font-size: 8pt;" size="1"><font face="Georgia, serif">Editions
              Titanic / 1996 / 163 pages</font></font></b></p>

              <p style="margin-bottom: 0cm;" align="justify"><br>

              </p>

              <p style="margin-bottom: 0cm;" align="justify"><br>

              </p>

              <p style="margin-bottom: 0cm;" align="justify"><b><i><font size="3"><font face="Georgia, serif"> <u>La
              crise du personnage dans le th&eacute;&acirc;tre moderne</u></font></font></i></b></p>

              <p style="margin-bottom: 0cm;" align="justify"><br>

              </p>

              <p style="margin-bottom: 0cm;" align="justify"><font style="font-size: 11pt;" size="2"><font face="Georgia, serif"><b> </b>Sosie
              ou fant&ocirc;me, mannequin ou ic&ocirc;ne, qu&rsquo;est-ce
              que le
              person&shy;nage de th&eacute;&acirc;tre ? Contrairement au
              com&eacute;dien
              charg&eacute; de l&rsquo;incar&shy;ner, il n&rsquo;a
              gu&egrave;re &eacute;t&eacute;
              &eacute;tudi&eacute; jusqu&rsquo;ici c&rsquo;est
              &agrave; quoi s&rsquo;emploie ce
              livre, qui va constamment des &oelig;uvres &agrave; leurs
              repr&eacute;sentations,
              des th&eacute;o&shy;ries aux pratiques sc&eacute;niques, de
              l&rsquo;acteur
              au spectateur. Dans une travers&eacute;e de l&rsquo;histoire du
              th&eacute;&acirc;tre,
              conduite d&rsquo;un point de vue origi&shy;nal, Robert
              Abirached aide &agrave;
              comprendre le difficile parcours de la figuration &agrave; la
              d&eacute;figuration qui a marqu&eacute;, depuis un
              si&egrave;cle, la
              sc&egrave;ne occidentale.</font></font></p>

              <p style="margin-bottom: 0cm;" align="justify"><font face="Georgia, serif"><font style="font-size: 11pt;" size="2">Notre
              soci&eacute;t&eacute; a-t-elle encore besoin de
              l&rsquo;entremise du
              personnage pour se repr&eacute;senter, alors qu&rsquo;elle se
              donne
              directement en spec&shy;tacle &agrave; elle-m&ecirc;me dans
              une
              omnipr&eacute;sente exhibition ? Cette ques&shy;tion, si elle
              concerne d&rsquo;abord le th&eacute;&acirc;tre et son
              avenir parmi nous,
              met en jeu le statut m&ecirc;me de l&rsquo;image dans le monde
              moderne,
              en d&eacute;licate balance entre l&rsquo;imaginaire et le
              r&eacute;el.</font></font></p>

              <p style="margin-bottom: 0cm;" align="justify"><br>

              </p>

              <p style="margin-bottom: 0cm;" align="justify"><font size="3"><font face="Monotype Corsiva, cursive">
              </font></font><b><font style="font-size: 8pt;" size="1"><font face="Georgia, serif">Editions
              Gallimard / 1994 / 506 pages</font></font></b></p>


              Etc................................
              • [^] # Re: entrée

                Posté par  . Évalué à 1.

                Bon, c'est déja mieux. Dommage que le code html soit si horrible ! Ça aurait simplifié la tache, d'avoir une vraie structure derrière tout ça.

                J'ai écrit un petit script qui extrait les données qui t'intérressent, pour te montrer ce qu'il est possible de faire. En tout cas ça fonctionne pour l'exemple que tu as donné. C'est du Ruby, et ça utilise deux librairies externes (en fait, c'était une occasion pour moi de tester hpricot, le parseur html).

                Voila le code : http://pastie.caboo.se/69276

                Pour le faire fonctionner, il te faut l'intepréteur Ruby 1.8
                Il te faut aussi les librairies hpricot et htmlentities. Pour les installer voila la marche à suivre :
                - installer rubygems
                - executer dans un terminal "gem install hpricot"
                - puis "gem install htmlentities"

                Si t'as été capable de pondre le script bash que tu as montré, tu devrais pouvoir t'en sortir avec ce bout de code, même si tu n'es pas familier de ruby :)
                Si tu veux ensuite insérer les données extraites vers une bdd, tu peux regarder du coté de la librairie DBI, par exemple.

                Bon courage !
                • [^] # Re: entrée

                  Posté par  . Évalué à 1.

                  Salut,
                  Merci pour ce beau script, je voulais exactement un truc comme ca, qui soit capable de reperer les balises.
                  Mais comme je ne savais pas ou trouver un outil de ce genre j'ai ecrit le script bash. Je vais me plonger la tete sur ton script, meme si je ne connais pas ruby ca sera l'occasion d'etudier le language en general.

                  Je viens juste de me lancé une petite bataille avec apt de ubuntu dapper pour installer les librairies.

                  10*merci
                  Cordialement.
                • [^] # Re: entrée

                  Posté par  . Évalué à 1.

                  cool ton pastie la, je ne connaissais pas il est vraiùment bien
                  le script bash: http://pastie.caboo.se/69731
                  c'est plus joli a voir :-)
                  • [^] # Re: entrée

                    Posté par  . Évalué à 1.

                    salut,

                    apres une bonne heure de galere a installer ruby et hpricot
                    je lance

                    $ sudo ruby1.8 ./test_ruby.rb

                    test_ruby.rb est le script que tu m'a donne
                    j'ai les erreurs suivante:

                    /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require': no such file to load -- hpricot (LoadError)
                    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
                    from ./test_ruby.rb:2

                    J'abandonne pour aujourdhui, à moins que tu aies une solution a ce probleme.

                    ps:
                    J'en ai appris pas mal sur le fonctionnement de ruby, ca m'a l'air puissant mais un peu complique comme language.
                    • [^] # echec de hpricot

                      Posté par  . Évalué à 1.

                      installation bidon :(
                      $ sudo gem install hpricot
                      Select which gem to install for your platform (i486-linux)
                      1. hpricot 0.5.150 (mswin32)
                      2. hpricot 0.5.150 (ruby)
                      3. hpricot 0.5.150 (jruby)
                      4. hpricot 0.5.145 (ruby)
                      5. hpricot 0.5.145 (jruby)
                      6. hpricot 0.5.145 (mswin32)
                      7. Skip this gem
                      8. Cancel installation
                      > 4
                      Building native extensions. This could take a while...
                      ERROR: While executing gem ... (Gem::Installer::ExtensionBuildError)
                      ERROR: Failed to build gem native extension.

                      ruby extconf.rb install hpricot
                      sh: ruby : commande introuvable


                      Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/hpricot-0.5.145 for inspection.
                      Results logged to /usr/lib/ruby/gems/1.8/gems/hpricot-0.5.145/ext/hpricot_scan/gem_make.out

                      Moi j'ai installé ruby1.8 ca doit etre du a ca, il ne trouve pas ruby tout court.

                      help! aidez moi.
                      • [^] # Re: echec de hpricot

                        Posté par  . Évalué à 1.

                        l'installation de hpricot foire parce qu'il n'y a pas d'executable qui s'appelle "ruby" sur ton système, juste un "ruby1.8"

                        Ca vient du packaging de ta distribution, ça permet d'installer plusieurs versions differentes de l'interpreteur. Peut être que tu as installé ruby en faisant apt-get install ruby1.8, au lieu de apt-get install ruby ?

                        Sinon, tu peux tout simplement créer un lien symbolique (ln -s /usr/bin/ruby1.8 /usr/bin/ruby), mais c'est en dernier recours.

                        Tu pourras aussi installer irb , ri, et rdoc pour programmer en ruby (l'interpreteur interactif, la doc en ligne et le generateur de docs)

                        Bonne chance :)
                        • [^] # Re: echec de hpricot

                          Posté par  . Évalué à 1.

                          le $sudo apt-get install ruby
                          ne marche pas, il me montre que ruby1.8 et 1.6 et 1.9

                          j'aurai du pense au lien symbolique
                          j'avais plus d'idee. maintenant j'ai les erreurs suivante:

                          apres creation du lien symbolique

                          $ sudo gem install hpricot
                          Select which gem to install for your platform (i486-linux)
                          1. hpricot 0.5.150 (mswin32)
                          2. hpricot 0.5.150 (ruby)
                          3. hpricot 0.5.150 (jruby)
                          4. hpricot 0.5.145 (ruby)
                          5. hpricot 0.5.145 (jruby)
                          6. hpricot 0.5.145 (mswin32)
                          7. Skip this gem
                          8. Cancel installation
                          > 4
                          Building native extensions. This could take a while...
                          ERROR: While executing gem ... (Gem::Installer::ExtensionBuildError)
                          ERROR: Failed to build gem native extension.

                          ruby extconf.rb install hpricot
                          extconf.rb:1:in `require': no such file to load -- mkmf (LoadError)
                          from extconf.rb:1


                          Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/hpricot-0.5.145 for inspection.
                          Results logged to /usr/lib/ruby/gems/1.8/gems/hpricot-0.5.145/ext/hpricot_scan/gem_make.out


                          Ah j'ai pas de chance aujourd'hui.
                          • [^] # Re: echec de hpricot

                            Posté par  . Évalué à 1.

                            Effectivement t'as pas de bol. Ca vient encore du systeme de package de debian/ubuntu, qui fragmente au maximum les paquets.

                            Ce qu'il te manque est dans ruby1.8-dev.

                            Donc, apt-get install ruby1.8-dev
                            • [^] # echec de hpricot, le make

                              Posté par  . Évalué à 1.

                              voila j'ai installé le dev, apres l'installation de hpricot ne trouve pas "make"
                              ci-bas:

                              $ sudo gem install hpricot
                              Need to update 2 gems from http://gems.rubyforge.org
                              ..
                              complete
                              Select which gem to install for your platform (i486-linux)
                              1. hpricot 0.5.150 (mswin32)
                              2. hpricot 0.5.150 (jruby)
                              3. hpricot 0.5.150 (ruby)
                              4. hpricot 0.5.145 (jruby)
                              5. hpricot 0.5.145 (ruby)
                              6. hpricot 0.5.145 (mswin32)
                              7. Skip this gem
                              8. Cancel installation
                              > 3
                              Building native extensions. This could take a while...
                              ERROR: While executing gem ... (Gem::Installer::ExtensionBuildError)
                              ERROR: Failed to build gem native extension.

                              ruby extconf.rb install hpricot
                              checking for main() in -lc... yes
                              creating Makefile

                              make
                              sh: make : commande introuvable

                              C'est pas juste, decidement j'ai vraiment pas de bol :-)
                              • [^] # Re: echec de hpricot, le make

                                Posté par  . Évalué à 1.

                                y'a pas make d'installé de base dans ubuntu ? Bon là t'aurais pu faire un effort quand même : apt-get install make
                                • [^] # Re: echec de hpricot, le make

                                  Posté par  . Évalué à 1.

                                  la j'ai fait l'effort mais j'ai eu ca

                                  $ sudo apt-get install make
                                  Lecture des listes de paquets... Fait
                                  Construction de l'arbre des dépendances... Fait
                                  Aucune version du paquet make n'est disponible, mais il existe dans la base
                                  de données. Cela signifie en général que le paquet est manquant, qu'il est devenu obsolète
                                  ou qu'il n'est disponible que sur une autre source
                                  E: Aucun paquet ne correspond au paquet make

                                  j'ai une vielle ubuntu dapper, je doit verifier peut etre mes depots.

                                  deb http://archive.ubuntu.com/ubuntu/ dapper-updates main restricted
                                  deb http://archive.ubuntu.com/ubuntu/ dapper-security main restricted
                                  deb http://archive.ubuntu.com/ubuntu/ dapper universe multiverse
                                  deb http://archive.ubuntu.com/ubuntu/ dapper-updates universe multiverse
                                  deb http://archive.ubuntu.com/ubuntu/ dapper-security universe multiverse
                                  deb http://archive.ubuntu.com/ubuntu/ dapper-backports main restricted universe multiverse

                                  deb http://security.ubuntu.com/ubuntu dapper-security main restricted
                                  deb-src http://security.ubuntu.com/ubuntu dapper-security main restricted
                                  deb http://security.ubuntu.com/ubuntu dapper-security universe
                                  deb-src http://security.ubuntu.com/ubuntu dapper-security universe

                                  deb http://fr.archive.ubuntu.com/ubuntu/ dapper universe
                                  deb-src http://fr.archive.ubuntu.com/ubuntu/ dapper universe

                                  sur debian ca serait fait de puis un bail, la c'est lordi de la societe ou je fait mon stage, jsuis vraiment desole.
                                  • [^] # Re: echec de hpricot, le make

                                    Posté par  . Évalué à 1.

                                    bizarre... question con : t'as fait un apt-get update ?
                                    • [^] # Re: echec de hpricot, le make

                                      Posté par  . Évalué à 1.

                                      oui monsieur
                                      • [^] # Re: echec de hpricot, le make

                                        Posté par  . Évalué à 1.

                                        J'avais pas vu, tu n'as pas le repository de base :

                                        deb http://archive.ubuntu.com/ubuntu/ dapper main restricted

                                        Tu peux l'ajouter ?
                                        • [^] # Re: echec de hpricot, le make

                                          Posté par  . Évalué à 1.

                                          oue, jlavais pas

                                          $ sudo gem install hpricot
                                          Select which gem to install for your platform (i486-linux)
                                          1. hpricot 0.5.150 (mswin32)
                                          2. hpricot 0.5.150 (jruby)
                                          3. hpricot 0.5.150 (ruby)
                                          4. hpricot 0.5.145 (jruby)
                                          5. hpricot 0.5.145 (ruby)
                                          6. hpricot 0.5.145 (mswin32)
                                          7. Skip this gem
                                          8. Cancel installation
                                          > 3
                                          Building native extensions. This could take a while...
                                          Successfully installed hpricot-0.5.150
                                          Installing ri documentation for hpricot-0.5.150...

                                          lib/hpricot/builder.rb:25:61: ':' not followed by identified or operator

                                          lib/hpricot/elements.rb:477:39: 'attr' ignored - looks like a variable

                                          lib/hpricot/elements.rb:477:66: 'attr' ignored - looks like a variable
                                          Installing RDoc documentation for hpricot-0.5.150...

                                          lib/hpricot/builder.rb:25:61: ':' not followed by identified or operator

                                          lib/hpricot/elements.rb:477:39: 'attr' ignored - looks like a variable

                                          lib/hpricot/elements.rb:477:66: 'attr' ignored - looks like a variable

                                          je ne sais pas si l'installation s'est deroulee correctement mais ca s'annone pas bien. Je vais tester ton script pour voir si ca reconnais hpricot
                                          merci pour le depot
                                          • [^] # Re: echec de hpricot, le make

                                            Posté par  . Évalué à 1.

                                            Si, l'install est correcte (Successfully installed hpricot-0.5.150)
                                            C'est la génération de la doc qui a l'air de s'etre un peu pris les pieds dans le tapis, mais c'est pas bien grave.

                                            Bon, si tu as des questions sur le script demande moi par mail. Je t'envoie un message privé pour te le donner.
                                          • [^] # Re: echec de hpricot, le make

                                            Posté par  . Évalué à 1.

                                            j'ai l'impression que c po pour aujourdhui ruby
                                            l'include de htmlentities pose un probleme de path semblerai t'il

                                            $ ruby ./test_ruby.rb
                                            /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require': no such file to load -- htmlentities (LoadError)
                                            from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
                                            from ./test_ruby.rb:3
                                            • [^] # Re: echec de hpricot, le make

                                              Posté par  . Évalué à 1.

                                              tu l'as installé au moins ?

                                              gem install htmlentities
                                              • [^] # Re: echec de hpricot, le make

                                                Posté par  . Évalué à 1.

                                                Bonjour,
                                                J'ai oublié de te montrer:

                                                $ gem install htmlentities
                                                ERROR: Error installing gem htmlentities[.gem]: undefined method `include?' for nil:NilClass

                                                pour l'execution du script j'ai ca:

                                                $ ruby ./test_ruby.rb
                                                ./test_ruby.rb:48:in `initialize': No such file or directory - entry.html (Errno::ENOENT)

                                                ligne 48:
                                                "doc = open("entry.html") {|f| Hpricot(f)}"
                                                J'ai creer un fichier entry.html dans le dossier du script mais ya rien a faire ca marche pas.

                                                J'imagine que ca vient de htmlentities

                                                Help! C'est completent hors de mes competences. :-)
                  • [^] # Re: entrée

                    Posté par  . Évalué à 1.

                    Oui c'est sympa pastie. Et puis surtout, c'est codé en Ruby (ruby on rails) :-]

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.