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é ??
Partager