Journal Traitement de page HTML

Posté par  (site web personnel) .
Étiquettes : aucune
0
30
sept.
2003
Bonjour,

Je voudrais extraire des données d'une page HTML pour les enregistrer par la suite dans une base de données SQL.

La page en question est la page suivante http://slhs1.univ-fcomte.fr/edt/edit_edtetap.idc?etacod=216&sem(...) , et il s'agit d'un emploi du temps. Pour le moment je comptais utiliser des expressions régulières, et plus particulierement l'expression suivante :
'<font size="-1">.*</font>' pour recuperer le contenu des cellules qui m'interresse mais cela ne marche pas... ;(

Est-ce que une personne aurait une autre idée, soit en n'utilisant pas les expressions regulières qoit avec une autre regexp que celle que j'utilise actuellement.

Merci de votre aide, je compte faire ça en Python ou en PHP (avec une preference pour Python).
  • # Re: Traitement de page HTML

    Posté par  . Évalué à 1.

    J'ai réaliser un truc du même style en perl qui m'envoie mon cours un quart d'heure avant qu'il ne commence par sms.

    Grossomodo, je recupere la page. Je coupe tous ce qui n'est pas entre les . puis ca passe dans un bout de code récupere sur le net pour éliminer les balises restantes et traiter tous ce qui est espace et autre. Puis pour finir je recupere les elements interessant par la suite.

    Je t'enverrais le script si tu veux ce soir (ca peux etre utile pour les expressions régulières et il y en a un tas)(et si j ai encore le net).
    • [^] # Re: Traitement de page HTML

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

      Oui, ça m'aiderai bien.

      mon email : skink [chez] oreka [point] com
    • [^] # Re: Traitement de page HTML

      Posté par  . Évalué à 1.

      Hum... moi j'aimerais bien savoir comment t'envoie un sms avec ton script :)
      • [^] # Re: Traitement de page HTML

        Posté par  . Évalué à 1.

        c'est peut-etre tout simplement via le compte-email-qui-envoie-un-SMS-avec-le-nom-de-l'-expediteur-et-le-sujet que beaucoup d'operateurs proposent a present? (j'ai jamais essaye, ceci-dit)
        • [^] # Re: Traitement de page HTML

          Posté par  . Évalué à 1.

          Tout a fait un ptit email vers mon_numero [at] mon_operateur_de_telephonie_mobile [pt] fr et voila.

          Bon je te l'envoye ce soir alors.
  • # Re: Traitement de page HTML

    Posté par  . Évalué à 2.

    Normal les balises ne sont pratiquement jamais fermées
    donc le </font > n'est jamais matché

    Si tu as moyen d'engeuler celui ou celle qui a fait cette page c'est le moment :)

    Dam
  • # Re: Traitement de page HTML

    Posté par  . Évalué à 1.

    Si tu veux le faire en Python, tu as le module htmllib pour parser du HTML. Pas compliqué à utiliser, tu fais une classe fille de HTMLparser dont tu redéfinis la méthode starttag. C'est 3 lignes de codes, le parser digère bien le HTML non conforme, et y'a un exemple tout prêt dans la doc.
  • # Re: Traitement de page HTML

    Posté par  . Évalué à 1.

    <font [^>]*size="1"[^>]*>.*<\/font[^>]*>

    devrai faire l'affaire.

    Moi j'aimerais savoir un truc, vous les envoyez avec quoi vos sms ?
    • [^] # Re: Traitement de page HTML

      Posté par  . Évalué à 1.

      bin j'ai une email chez un operateur de téléphonie mobiles. Et quand un mail arrive à cette adresse. bin je le recois en 1 à 5 sms selon la taille du mail (nb: pas plus de 5 sms par email).

      Je te laisse chercher la suite tous seul.
  • # Re: Traitement de page HTML

    Posté par  (site web personnel, Mastodon) . Évalué à 1.

    aaaaah là là, si tout le monde faisait du code XHTML conforme sur leur site... Un petit coup de XSL ou de DOM/scripting et hop, terminé en deux coups de cuillère à parseur...

    **soupir**

    Vive le web sémantique :-)
  • # Re: Traitement de page HTML

    Posté par  . Évalué à 1.

    As-tu essayé w3m ?

    ce navigateur en mode texte permet la transformation des tableaux en sortie texte.

    un man w3m donne :

    EXAMPLES
    To use w3m as a pager:
    $ ls | w3m

    To use w3m to translate HTML files:
    $ cat foo.html | w3m -T text/html

    or
    $ cat foo.html | w3m -dump -T text/html >foo.txt
  • # Re: Traitement de page HTML

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

    pour le moment j'ai dait la chose suivante
    je transforme la page en liste (ligne par ligne) et apres je test si le debut de la ligne commence par '<td><font>.....'

    il me reste a enregistrer les resultats dans la bdd
  • # Re: Traitement de page HTML

    Posté par  . Évalué à 1.

    Il y a des modules perl qui sontt pas mal pour cela.Notamment : Ôter des balises, récupérer que le "txt" ...
    Mais bon Python Y's noT 'H perl, come ON...

    Autre stratégie : récupère les <td></td> qui t'int"ressent et vire tout ce qui ressemble à des tags.<.*?> (pas certifié)

Suivre le flux des commentaires

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