Page 1 sur 1

Récupérer un élément texte d'une page web

Posté : 26 janv. 2017, 16:30
par fradri
Bonjour,

Débutant en PHP je suis actuellement en train de créer une page en PHP, afin de récupérer le nombres de minutes dans lequel passera mon prochain bus.
Pour cela je dispose de l'adresse de la page internet sur laquelle se trouve cette information.

J'ai donc utiliser DOMXPath afin de récupérer le nombre de minutes mais cela ne fonctionne pas, j'obtiens un message d'erreur :

Code : Tout sélectionner

Notice: Trying to get property of non-object in C:\Program Files (x86)\EasyPHP-Devserver-16.1\eds-www\test.php on line 14
J'ai donc certainement fais une erreur quelque part mais impossible de trouver ...
Voici le code de ma page :
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<?php
$dom = new DomDocument();
$dom->loadHTMLFile('http://www.transdev-idf.com/horaire-arret-r2_nord-GECARR');
$xpath = new DOMXpath($dom);
$element = $xpath->query("//*[@class='temps_reel']" )->item(18);
echo "résultat : {$element->textContent}";
?>
</body>
</html>
je m'en remet donc à vous pour m'expliquer mes erreurs, et je vous remercie par avance pour vos réponses :wink:

Re: Récupérer un élément texte d'une page web

Posté : 26 janv. 2017, 16:37
par or 1
pas de message d'erreur chez moi, mais pas l'info.
que donne ?
<?php
$dom = new DomDocument();
$verif = $dom->loadHTMLFile('http://www.transdev-idf.com/horaire-arret-r2_nord-GECARR');
if($verif === false){
  echo "problème pour récupérer le contenu distant";
}
$xpath = new DOMXpath($dom);
$element = $xpath->query("//*[@class='temps_reel']" )->item(18);
echo "résultat : {$element->textContent}";
?>

Re: Récupérer un élément texte d'une page web

Posté : 26 janv. 2017, 17:09
par fradri
Je viens d'essayé ton code et j'obtiens toujours la même chose :(

Voici une capture d'écran de ce qui s'affiche :
Image

Re: Récupérer un élément texte d'une page web

Posté : 26 janv. 2017, 21:12
par Aureusms
Bonsoir,

Que te donnes :
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<?php
$dom = new DomDocument();
$dom->loadHTMLFile('http://www.transdev-idf.com/horaire-arret-r2_nord-GECARR');
$xpath = new DOMXpath($dom);
$element = $xpath->query("//*[@class='temps_reel']" )->item(18);
echo var_dump($element);
echo "résultat : {$element->textContent}";
?>
</body>
</html>

Re: Récupérer un élément texte d'une page web

Posté : 27 janv. 2017, 09:23
par fradri
Bonjour,
Je viens d'essayer et voici ce que me retourne mon navigateur :

Image

Re: Récupérer un élément texte d'une page web

Posté : 27 janv. 2017, 11:07
par @rthur
Tu as une version simplifiée de la page HTML pour récupérer les données ici :
http://www.cartes.transdev-idf.com/stat ... template=1

(c'est ce qui est utilisé pour la carte interactive)

Re: Récupérer un élément texte d'une page web

Posté : 27 janv. 2017, 15:18
par fradri
Merci je n'avais pas trouvé cette page, néanmoins j'ai maintenant une dizaine de messages d'erreur, et toujours pas le nombre de minutes ... :(
Je ne comprends pas, je joins une capture d'écran :

Image