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

Bibliothèques et frameworks PHP Discussion :

[DOM] fonction loadXML() sur du HTML


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [DOM] fonction loadXML() sur du HTML
    Bonjour,

    J'essaye de parser une page web d'un site de bourse en ligne afin de récupérer des valeurs boursières.
    J'ai particulièrement envie d'utiliser la bibliothèque DOM de Php, pour récupérer les chiffres qui sont entre des tags.
    Malheureusement comme sur leur page il ne mettent pas les id des tags entre guillemets cela ne fonctionne pas.


    J'utilise le code suivant pour parser la page :
    $buffer contient le texte html de la page de la bourse, $buffer est obtenue avec curl.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        $dom = new DomDocument();
        $dom->loadXML($buffer);
        // ...


    Ceci m'affiche les messages d'erreur :
    Warning: DOMDocument::loadXML() [function.DOMDocument-loadXML]: AttValue: " or ' expected in Entity, line: 156 in C:\Program Files\Wamp\www\DomTest\index.php on line 16

    Warning: DOMDocument::loadXML() [function.DOMDocument-loadXML]: attributes construct error in Entity, line: 156 in C:\Program Files\Wamp\www\DomTest\index.php on line 16

    Warning: DOMDocument::loadXML() [function.DOMDocument-loadXML]: Couldn't find end of Start Tag link line 156 in Entity, line: 5 in C:\Program Files\Wamp\www\DomTest\index.php on line 16

    A la ligne 156 du code html de la page à parser il y a une balise qui est par exemple celle ci :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
        <td id=trs title=421>20.369</td>

    Ici on a id=trs et non id="trs", ce qui est ... a mon avis la source du problème.

    Or aucun id n'est entre guillemets dans la page.




    Auriez-vous une solution à me proposer s'il vous plaît (à part l'utilisation des regex) ? Peut-être qu'un détail m'a échapé ??

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Et la méthode loadHTML[File]() ne serait-elle pas plus appropriée ?

    Et, pour la parenthèse, dans la mesure où la fonctionnalité allow_url_fopen est active, il n'est peut être pas nécessaire de passer par cURL.

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Alors là je dis bravo !!!

    loadHTML() dont j'ignorais l'existence est beaucoup plus appropriée !!! La prochaine fois je passerai plus de temps dans la doc PHP !

    Pour cURL, je suis obligé de l'employer afin de me loguer automatiquement sur le site (envoi des variables POST).

    Et merci d'avoir bougé mon post dans la bonne rubrique !

    Pleins de bizoux virtuels, merci !

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut


    Citation Envoyé par Gabbiix
    Pour cURL, je suis obligé de l'employer afin de me loguer automatiquement sur le site (envoi des variables POST).
    Il est possible de passer des données POST (entre autres) en redéfinissant les options de contexte du flux (voir l'exemple de la FAQ pour exemple).

    (c'est juste à titre d'info)

  5. #5
    Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Ah ui ! c'est pas bête ca ! merci du tuyau

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

Discussions similaires

  1. [HTML 5] Fonction recherche d'un mot clé sur page HTML
    Par Marvel41 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 19/11/2009, 23h22
  2. [DOM] Warning sur la fonction loadXML
    Par dsr57 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 14/01/2009, 15h04
  3. [DOM] utiliser les fonctions Node sur des balises html
    Par durthu dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 29/10/2007, 14h42
  4. [DOM] Fonction inverse loadXML DOM XML
    Par seb0634 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/07/2007, 12h09
  5. [DOM] fonction javascript dans html
    Par nopnop dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/04/2007, 09h53

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