comment lire les valeurs de température(°C) d'un URL en php?

a marqué ce sujet comme résolu.

Bonsoir à tous,je voulais juste savoir comment lire des données spécifique d’un code xml .

voici un petit code php lire le contenu xml d’un url:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
<?php

$url ='http://home2.solarlog-web.com/sds/module/solarlogweb/Statistik.php?top=100&left=70&right=120&bottom=160&width=770&height=540&fwidth=580&fheight=280&vwidth=770&vheight=540&scaleWidth=1&scaleHeight=1&bg=0&fs=0&afs=0&ia=0&cm=1&iw=770&ih=540&of=-1&shadow=0&scroll=0&dragndrop=0&autorefresh=0&nextrefresh=0&logid=0&pr=0&r=827531&s=5b5f9f302213a99b78d35d43ca2608cc&m=2147483820&c=1761&mode=0&offset=0&lgr=2048&grp=1073741824&inv=1073741824&s0i=1&flag=17&channels=0&sensor=1&pyr=1&batt=1&lng=3&nodataleftoffset=0&suppresswait=0&ymaxscale=0&logeeg=0&debug=0&ex=0';


$fichier=htmlspecialchars(implode(' ', file($url)));

echo($fichier);

//$xml =simplexml_load_string(file_get_contents($url));

//echo "<pre>".print_r($xml,1)."</pre>";

?>

mon question: à partir le code xml que afficher sur le navigateur par le petit code au dessus,comment récupérer juste les valeurs de température en °C à chaque heure .

Merci d’avance ,

+0 -0

Salut !

Le document qui s’affiche est apparemment du SVG, et non un graphique comme on pourrait l’imaginer. Ce qui implique que les données ne sont pas fournies en paires (heure, degrés), mais sous forme de coordonnées (x, y) au mieux. Mais apparemment, ce sont même des petits segments qui composent la courbe… Tu peux regarder les éléments <polyline> depuis celui qui a l’ID p27 au moment de ce message. Les données que tu souhaites récupérer sont contenues dans l’attribut points – attention, il semble y en avoir deux ou trois.
Apparemment les éléments de la courbe sont identifiés avec un masque qui ressemble à `p\d+`

L’impression que ça me donne est que si ça a été pensé pour rendre les données difficilement récupérables, c’est bien fait. Le calcul pour convertir les coordonnées en informations de temps et de température demanderont du temps. Mais c’est au moins très probablement une simple fonction affine.

+0 -0

je trouve un problème pour récupérer juste les valeurs en °C(0°C,3.5°C,19°C,20°C…) dans balise [onmousemove] et je ne comprends pas où est trouve les valeurs en W et KW (05:30=>0 W,06:00=>164 W,06:45=>1.43 KW…)et comment récupérer.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?php


$url = 'http://home2.solarlog-web.com/sds/module/solarlogweb/Statistik.php?top=100&left=70&right=120&bottom=160&width=770&height=540&fwidth=580&fheight=280&vwidth=770&vheight=540&scaleWidth=1&scaleHeight=1&bg=0&fs=0&afs=0&ia=0&cm=1&iw=770&ih=540&of=-1&shadow=0&scroll=0&dragndrop=0&autorefresh=0&nextrefresh=0&logid=0&pr=0&r=827531&s=5b5f9f302213a99b78d35d43ca2608cc&m=2147483820&c=1761&mode=0&offset=0&lgr=2048&grp=1073741824&inv=1073741824&s0i=1&flag=17&channels=0&sensor=1&pyr=1&batt=1&lng=3&nodataleftoffset=0&suppresswait=0&ymaxscale=0&logeeg=0&debug=0&ex=0';

/*$fichier=htmlspecialchars(implode('', file($url)));

echo($fichier);*/

//$res = explode('=', $fichier);

//print_r($res);

//preg_match("/??:??/",$fichier,$res);

//print_r($res);

$xml =simplexml_load_file($url);

//$xml =simplexml_load_string(file_get_contents($url));

//echo "<pre>".print_r($xml,1)."</pre>";


        $a=$xml->defs['id'];

             echo($a);echo '<br>';

        $f=$xml->defs->filter['id'];

        echo($f);echo '<br>';

   foreach($xml->g as $g) {

     $l=$g['id'];

     echo($l);echo '<br>';

     $y=$g->g['style'];

      echo($y);echo '<br>';        


   foreach($g as $g1) {

      foreach($g1 as $g2) {

             $b=$g2['style'];

             echo($b);echo '<br>'; 

             $c=$g2->line['x1'];

             echo($c);echo '<br>';

            foreach($g2 as $polyline) {

            $h=$polyline['points'];

        echo($h);echo '<br>';

        $d=$polyline['onmousemove'];

        echo($d);echo '<br>';

        }}}


    }




?>
+0 -0

Apparemment, c’est dans une variable JavaScript qui s’appelle pp, sous forme d’objets nA, mais qui devraient pouvoir être extraits comme s’il s’agissait de texte brut dans le SVG. C’est apparemment le second bloc <![CDATA[.

+0 -0

oui je compris ça, mais comment lire les valeurs en W et en KW après l’écriture au dessous ,donc à partir $xml.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<?php

$url ='http://home2.solarlog-web.com/sds/module/solarlogweb/Statistik.php?top=100&left=70&right=120&bottom=160&width=770&height=540&fwidth=580&fheight=280&vwidth=770&vheight=540&scaleWidth=1&scaleHeight=1&bg=0&fs=0&afs=0&ia=0&cm=1&iw=770&ih=540&of=-1&shadow=0&scroll=0&dragndrop=0&autorefresh=0&nextrefresh=0&logid=0&pr=0&r=827531&s=5b5f9f302213a99b78d35d43ca2608cc&m=2147483820&c=1761&mode=0&offset=0&lgr=2048&grp=1073741824&inv=1073741824&s0i=1&flag=17&channels=0&sensor=1&pyr=1&batt=1&lng=3&nodataleftoffset=0&suppresswait=0&ymaxscale=0&logeeg=0&debug=0&ex=0';

$xml =simplexml_load_file($url);

echo "<pre>".print_r($xml,1)."</pre>";
?>

`

Merci.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte