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

Réseau/Web Python Discussion :

Etrange fichier HTML


Sujet :

Réseau/Web Python

  1. #1
    Membre éclairé
    Profil pro
    maçon
    Inscrit en
    Novembre 2004
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : maçon

    Informations forums :
    Inscription : Novembre 2004
    Messages : 264
    Points : 681
    Points
    681
    Par défaut Etrange fichier HTML
    Bonjour,
    Qd je fais "code source de la page" sur mon navigateur (firefox), (voici en partie) ce qui m'apparait de la page HTML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <td class="center">5,5</td>
    <td class="center">5,2</td>
    <!--<td class="center">5.5</td>
    <td class="center">5.2</td>-->
    Qd je récupère cette même page soit avec urlopen ou urlretrieve voici ce que j'obtiens
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <td class="center"></td>
    <td class="center"></td>
    <!--<td class="center"></td>
    <td class="center"></td>-->
    Pourquoi est ce que les valeurs entre les balises disparaissent ?
    Sur d'autres balises de même genre les valeurs restent ???
    J'utilise python 2.7.1 et j'encode en utf-8
    La page html est elle aussi en utf-8
    Si quelqu'un peu m'aider à comprendre ce mystère
    D'avance merci

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,
    Il est où le code?
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre éclairé
    Profil pro
    maçon
    Inscrit en
    Novembre 2004
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : maçon

    Informations forums :
    Inscription : Novembre 2004
    Messages : 264
    Points : 681
    Points
    681
    Par défaut
    merci de me répondre
    voici un exemple du code :
    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
     
    # -*- coding: utf-8 -*- 
    import urllib2 as url
    import re
     
    vFic =  url.urlopen("http://www.paris-turf.com/reunion/pid57-course.html?table=tableaux_des_resultats&idcourse=684636")
    vPage = vFic.readlines()
    vCote = ""
     
    for vEl in vPage :
        if re.search("<.*?>",vEl) :
            vCote = re.sub("<.*?>",'',vEl)
            vCote = re.sub("</td>",'',vCote)
     
    print("Cote = " + vCote)
    Comme expliquer plus haut le pb se situe ou se situerai au niveau de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    vPage = vFic.readlines()
    En fait la page est lue mais certaines valeurs contenues entre certaines balises (pas forcément les mêmes) disparaissent

    Je pense que c'est un pb d'encodage mais je n'ai toujours pas trouvé !
    Espérant n'avoir pas été trop confus
    Merci

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Votre utilisation d'urlopen est assez basique: si çà ne remontait pas ce que le serveur "renvoie", çà se saurait.

    Ce n'est pas un problème d'encoding: vous vous accrochez à des balises qui sont ASCII et donc indépendantes de l'encodage: ce n'est pas encore un problème.

    Mais, je ne sais trop ce que vous souhaitiez faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for vEl in vPage :
        if re.search("<.*?>",vEl) :
            vCote = re.sub("<.*?>",'',vEl)
            vCote = re.sub("</td>",'',vCote)
    1. pour chaque ligne dans la page,
    2. si elle contient une expression de la forme "<.*?>"
    3. alors garder que ce qui n'est pas dans "<.*?>"
    4. overkill pour "</td>" - çà matche le truc précédent non?
    => en gros, çà "garde" le texte contenu dans la ligne lue et donc beaucoup de blancs... en virant tout ce qui est entre des balises.

    Je n'en vois pas trop l'intérêt mais pourquoi pas!
    Le (1) suppose que les lignes contiennent une chose bien formée: or rien n'impose à un tag ouvert à la ligne I d'être fermé dans cette même ligne: no match, on saute toute la ligne.
    => un code équivalent pourrait être:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    page = vFic.read() # soyons fou! mettons tout dans la page...
    print re.sub("<.*?>",'',page)
    Mais je doute que ce soit ce que vous voulez ;-(

    Bon courage
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre éclairé
    Profil pro
    maçon
    Inscrit en
    Novembre 2004
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : maçon

    Informations forums :
    Inscription : Novembre 2004
    Messages : 264
    Points : 681
    Points
    681
    Par défaut
    Je suis un abruti
    En fait j'analysais la mauvaise page si si
    donc il n' y a pas de pb
    Désolé pour le dérangement
    merci à ceux qui m'ont répondu, et aussi à ceux qui ont perdu leur temps à lire mes âneries

    bonne soirée

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

Discussions similaires

  1. Rendu d'un fichier HTML
    Par mickdep dans le forum OpenGL
    Réponses: 6
    Dernier message: 22/04/2004, 15h31
  2. Comment afficher un fichier HTML
    Par Xavier dans le forum C++Builder
    Réponses: 8
    Dernier message: 30/03/2004, 07h56
  3. Comment lancer un fichier HTML ??
    Par Franck.H dans le forum Windows
    Réponses: 2
    Dernier message: 25/01/2004, 20h00
  4. Lancer un fichier html
    Par miss mary b dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 01/01/2004, 20h04
  5. parser un fichier html
    Par noarno dans le forum ASP
    Réponses: 2
    Dernier message: 10/12/2003, 17h53

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