Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: meteosantomera en 1 Noviembre 2010, 15:48 pm



Título: Actualización de datos meteorologicos
Publicado por: meteosantomera en 1 Noviembre 2010, 15:48 pm
Buenas tardes,

Estoy realizando reformas en la página web y necesito ayuda.

Intento integrar esta página que funciona a la perfeccíón http://www.telefonica.net/web2/meteosantomera/Current_Vantage_Pro_Plus.htm

en mi sitio web  http://www.meteosantomera.es/page11.php

el problema que tengo es que los datos de la izquierda no se actualizan. He copiado el código fuente pero es como si fuera una foto.

Los página http://www.telefonica.net/web2/meteosantomera/Current_Vantage_Pro_Plus.htm
proviene de la plantilla Curren_Vantage_Pro_Plus.htx que un programa meteologico sube a internet y transforma en htm, pues bien , al pasar el código fuente como lo podría hacer para que actualizara los datos.

No se si me entendeis, pero bueno , a ver si alguien me puede ayudar.

Un saludo


Título: Re: Actualización de datos meteorologicos
Publicado por: ~ Yoya ~ en 1 Noviembre 2010, 18:57 pm
Usa Data Mining (http://es.wikipedia.org/wiki/Miner%C3%ADa_de_datos).

Las web están en blanco, la abrí y no aparece nada


Título: Re: Actualización de datos meteorologicos
Publicado por: meteosantomera en 1 Noviembre 2010, 19:35 pm
Hola, como que la web está en blanco ??

www.meteosantomera.es

Por lo que leido más o menos entiendo lo que quieres decir, pero el proceso de captura de datos ya lo realiza el programa (Tags y script predefinidos), el problema radica en integrar los datos de esta página http://www.telefonica.net/web2/meteosantomera/Current_Vantage_Pro_Plus.htm

en esta otra http://www.meteosantomera.es/page11.php

Gracias por vuestra ayuda.


Título: Re: Actualización de datos meteorologicos
Publicado por: ~ Yoya ~ en 1 Noviembre 2010, 23:52 pm
Ejemplo:
Código
  1. <?php
  2. function get($site)
  3. {
  4. $ch = curl_init();
  5. curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.125 Safari/533.4');
  6. curl_setopt($ch,CURLOPT_REFERER, 'http://www.google.com');
  7. curl_setopt($ch, CURLOPT_URL, $site);
  8. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  9. return curl_exec($ch);
  10. }
  11.  
  12.  
  13. $contenido = get('http://telefonica.net/web2/meteosantomera/wx.htm');
  14. //echo $contenido;
  15. preg_match('/<font color="#0000ff" face="Arial" size="5"><b>([\d\.]+)/', $contenido, $temp);
  16. echo $temp[1]."<br>";
  17.  
  18. preg_match('/<small><font face="Arial">([\d\.]+)/', $contenido, $puntorocio);
  19. echo $puntorocio[1]."<br>";
  20.  
  21. preg_match('/face="Arial"><small>([\d\%]+)/', $contenido, $humedad);
  22. echo $humedad[1]."<br>";
  23.  
  24. preg_match('/l"><small>(\d+\.\w+)/', $contenido, $barometro);
  25. echo $barometro[1]."<br>";
  26.  
  27. preg_match('/rial">((?i)[a-z]{1,2}(?-i))</', $contenido, $direcciondelviento);
  28. echo $direcciondelviento[1];
  29.  
  30. ?>

Salida:
Código:
17.9
7.0
49%
1015.21mb
NO
Otra opción mas fácil para evitar parsear todo, seria capturar la tabla entera xD.


Título: Re: Actualización de datos meteorologicos
Publicado por: meteosantomera en 2 Noviembre 2010, 22:37 pm
Gracias por tu respuesta

He copiado el código tal y como indicas y a mi no me devuelve los valores. Está claro que a ti si te funciona, pero algo debo hacer mal por que la vista preliminar me sale en blanco, sin datos.

te copio el código de la página en htx que luego transforma en html el programa.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>Current Weather Conditions at
&lt;!--StationCity--&gt;, &lt;!--StationState--&gt;</title>
  <meta http-equiv="refresh" content="150" ;="">
</head>
<body style="background-color: PaleGoldenrod;">
<table bordercolordark="#000000" bordercolorlight="#000000"
 border="1" cellpadding="2" cellspacing="2">
  <tbody>
    <tr height="30">
      <td bordercolor="#000000" colspan="2"
 style="border: thin solid rgb(0, 0, 0);" align="center"><a
 href="http://www.davisnet.com" target="HI"> </a>
      <iframe
 src="http://www.creatupropiaweb.com/recursos/relojes/reloj_4.htm"
 marginwidth="0" marginheight="0" allowtransparency="true"
 frameborder="no" height="120" scrolling="no"
 width="121"></iframe></td>
      <td width="700">
      <center><applet code="davisticker.class"
 viewastext="" height="38" width="680"><param
 name="string" datainterval="" value="PANEL EN PRUEBAS"><param
 name="font" value="Arial"><param name="style"
 value="Plain"><param name="size" value="15"><param
 name="fps" value="150"><param name="borWidth"
 value="3"><param name="borColor"
 value="153,000,051"><param name="backColor"
 value="255,255,000"><param name="fontColor"
 value="000,000,000"></applet></center>
      </td>
    </tr>
    <tr>
      <td bordercolor="#000000" colspan="2"
 style="border: thin solid rgb(0, 0, 0);" bgcolor="#000000"><font
 face="verdana, Arial, Helvetica"><strong><font
 color="#a8b8c8"><big>
      <script><!--
dows = new Array("Domingo","Lunes","Martes","Mi&eacute;rcoles","Jueves","Viernes","S&aacute;bado");
months = new Array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
now = new Date();
dow = now.getDay();
d = now.getDate();
m = now.getMonth();
h = now.getTime();
y = now.getYear();
document.write(dows[dow]+" "+d+" de "+months[m]+" de "+y);
      </script></big></font></strong></font></td>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);" rowspan="26"
 align="center" bgcolor="#73add6" nowrap="nowrap"
 valign="top">
      <p align="center"></p>
      <p><font face="verdana, Arial, Helvetica"><font
 color="#0000ff" size="2"><a target="_blank"
 href="http://meteosantomera.axiscam.net:1100/"><img alt=""
 src="http://meteosantomera.axiscam.net:1100/axis-cgi/jpg/image.cgi?"
 height="480" width="640"></a></font></font></p>
      <p><font face="verdana, Arial, Helvetica">Pinchando
en la imagen visualizas la webcam d en directo</font></p>
      <p></p>
      <p><font face="verdana, Arial, Helvetica">&nbsp;</font></p>
      <font face="verdana, Arial, Helvetica"><img
 src="OutsideTemp.gif" alt="Current Outside Temperature">&nbsp;&nbsp;<img
 src="OutsideHumidity.gif" alt="Current Outside Humidity">&nbsp;&nbsp;<img
 src="WindSpeed.gif" alt="Current Wind Speed">&nbsp;&nbsp;
      <img src="UV.gif" alt="Current UV Index">&nbsp;<img
 src="SolarRad.gif" alt="Current Solar Radiation">&nbsp;
      <img src="Barometer.gif" alt="Current Barometer">&nbsp;
      <br>
      <br>
      </font>
      <p><span style="font-family: verdana,Arial,Helvetica;">Datos
en Tiempo Real</span></p>
      <object height="400" width="600"><param
 name="movie"
 value="http://www.wunderground.com/swf/Rapid_Fire.swf?units=metric&amp;station=IMURCIAM7">
      <embed
 src="http://www.wunderground.com/swf/Rapid_Fire.swf?units=metric&amp;station=IMURCIAM7"
 type="application/x-shockwave-flash" height="400"
 width="600"></object><br>
      <p><span style="font-family: verdana,Arial,Helvetica;"></span></p>
      <p><span style="font-family: verdana,Arial,Helvetica;"></span></p>
      <p></p>
      </td>
    </tr>
    <tr>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><small><strong><font
 color="Brown">Temperatura</font></strong><br>
      </small></font></td>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);" width="200"><font
 face="verdana, Arial, Helvetica"><strong><small><font
 color="#3366ff"><!--outsideTemp--><!--tempUnit--></font><br>
      </small></strong></font></td>
    </tr>
    <tr>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><small><strong><font
 color="Brown">Humedad</font></strong><br>
      </small></font></td>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><strong><small><font
 color="#3366ff"><!--outsideHumidity--><!--humUnit--></font><br>
      </small></strong></font></td>
    </tr>
    <tr>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><small><strong><font
 color="Brown">Punto de Rocio</font></strong><br>
      </small></font></td>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><strong><small><font
 color="#3366ff"><!--outsideDewPt--><!--tempUnit--></font><br>
      </small></strong></font></td>
    </tr>
    <tr>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><strong><font
 color="Brown"><small>Viento<br>
      </small></font></strong></font></td>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><strong><font
 color="#3366ff"><small><!--windDirection--><!--windSpeed--><!--windUnit-->
      <br>
      </small></font></strong></font></td>
    </tr>
    <tr>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><small><strong><font
 color="Brown">Presi&oacute;n</font></strong><br>
      </small></font></td>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><strong><small><font
 color="#3366ff"><!--barometer-->&nbsp;<!--barUnit-->
<!--BarTrend--> </font><br>
      </small></strong></font></td>
    </tr>
    <tr>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><small><strong><font
 color="Brown">Lluvia Hoy</font></strong><br>
      </small></font></td>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><strong><small><font
 color="#3366ff"><!--dailyRain-->&nbsp;<!--rainUnit--></font><br>
      </small></strong></font></td>
    </tr>
    <tr>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><small><strong><font
 color="Brown">Intensidad de LLuvia</font></strong><br>
      </small></font></td>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><strong><small><font
 color="#3366ff"><!--rainRate-->&nbsp;<!--rateUnit--></font><br>
      </small></strong></font></td>
    </tr>
    <tr>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><small><strong><font
 color="Brown">Lluvia Mes</font></strong><br>
      </small></font></td>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><strong><small><font
 color="#3366ff"><!--monthlyRain-->&nbsp;<!--rainUnit--></font><br>
      </small></strong></font></td>
    </tr>
    <tr>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><small><strong><font
 color="Brown">Lluvia A&ntilde;o</font></strong><br>
      </small></font></td>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><strong><small><font
 color="#3366ff"><!--totalRain-->&nbsp;<!--rainUnit--></font><br>
      </small></strong></font></td>
    </tr>
    <tr>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><small><strong><font
 color="Brown">Sensaci&oacute;n de Frio</font></strong></small></font></td>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><strong><font
 color="#3366ff"><small><!--windChill--><!--tempUnit--><br>
      </small></font></strong></font></td>
    </tr>
    <tr>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><strong><font
 color="Brown"><small>Indice de Calor<br>
      </small></font></strong></font></td>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><strong><font
 color="#3366ff"><small><!--thw--><!--tempUnit--><br>
      </small></font></strong></font></td>
    </tr>
    <tr>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><strong><font
 color="Brown"><small>Radiaci&oacute;n Solar<br>
      </small></font></strong></font></td>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><strong><font
 color="#3366ff"><small><!--solarRad-->&nbsp;<!--solarUnit--><br>
      </small></font></strong></font></td>
    </tr>
    <tr>
      <td bordercolor="#000000" colspan="2"
 style="border: thin solid rgb(0, 0, 0);" bgcolor="#000000"><font
 face="verdana, Arial, Helvetica"><strong><font
 color="#a8b8c8"><big>Hoy Maximas/Minimas</big></font></strong></font></td>
    </tr>
    <tr>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><strong><small><font
 color="#228b22">
      <p>Temperatura M&aacute;xima</p>
      <p>Temperatura M&iacute;nima</p>
      </font></small></strong></font></td>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);" align="left"><font
 face="verdana, Arial, Helvetica"><strong><font
 color="#ff4500"><small>
      <p><!--hiOutsideTemp--><!--tempUnit--><font
 color="#228b22">&nbsp;
&nbsp;a las&nbsp;&nbsp;</font><font color="#ff4500">
<!--hiOutsideTempTime--></font></p>
      <p><!--lowOutsideTemp--><!--tempUnit--><font
 color="#228b22">&nbsp;&nbsp;a las&nbsp;
&nbsp;</font><font color="#ff4500"><!--lowOutsideTempTime--></font></p>
      </small></font></strong></font></td>
    </tr>
    <tr>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><strong><font
 color="#228b22"><small>
      <p>Humedad M&aacute;xima</p>
      <p>Humedad M&iacute;nima</p>
      </small></font></strong></font></td>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);" align="left"><font
 face="verdana, Arial, Helvetica"><strong><font
 color="#ff4500"><small>
      <p><!--hiHumidity--><!--humUnit--><font
 color="#228b22">&nbsp;&nbsp;
a las&nbsp;&nbsp;</font><font color="#ff4500"><!--hiHumTime--></font></p>
      <p><!--lowHumidity--><!--humUnit--><font
 color="#228b22">&nbsp;&nbsp;a las&nbsp;&nbsp;</font><font
 color="#ff4500">
<!--lowHumTime--></font></p>
      </small></font></strong></font></td>
    </tr>
    <tr>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><font color="#228b22"><strong><small>
      <p>Presi&oacute;n M&aacute;xima</p>
      <p>Presi&oacute;n M&iacute;nima</p>
      </small></strong></font></font></td>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);" align="left"><font
 face="verdana, Arial, Helvetica"><strong><font
 color="#ff4500"><small>
      <p><!--hiBarometer-->&nbsp;<!--barUnit--><font
 color="#228b22">&nbsp;
&nbsp;a las&nbsp;&nbsp;</font><font color="#ff4500"><!--hiBarometerTime--></font></p>
      <p><!--lowBarometer-->&nbsp;<!--barUnit--><font
 color="#228b22">&nbsp;&nbsp;a las&nbsp;&nbsp;</font><font
 color="#ff4500">
<!--lowBarometerTime--></font></p>
      </small></font></strong></font></td>
    </tr>
    <tr>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><strong><font
 color="#228b22"><small>
      <p>Intensidad M&aacute;xima LLuvia</p>
      </small></font></strong></font></td>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);" align="left"><font
 face="verdana, Arial, Helvetica"><strong><font
 color="#ff4500"><small>
      <p><!--hiRainRate--><!--rateUnit-->&nbsp;&nbsp;
      <font color="#228b22">a
las&nbsp;&nbsp;</font><font color="#ff4500"><!--hiRainRateTime--></font></p>
      </small></font></strong></font></td>
    </tr>
    <tr>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);"><font
 face="verdana, Arial, Helvetica"><strong><font
 color="#228b22"><small>
      <p>Sensaci&oacute;n Frio M&iacute;nima</p>
      </small></font></strong></font></td>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);" align="left"><font
 face="verdana, Arial, Helvetica"><strong><font
 color="#ff4500"><small>
      <p><!--lowWindchill--><!--tempUnit-->&nbsp;&nbsp;
      <font color="#228b22">a las </font><font
 color="#ff4500"><!--lowWindchillTime--></font></p>
      </small></font></strong></font></td>
    </tr>
    <tr>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);" valign="middle"><font
 face="verdana, Arial, Helvetica"><font color="#228b22"><strong><small>
      <p>Rayos UV</p>
      </small></strong></font></font></td>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);" align="left"><font
 face="verdana, Arial, Helvetica"><strong><font
 color="#ff4500"><small>
      <p><!--hiUV--><!--uvUnit--><font
 color="#228b22">&nbsp;&nbsp;a
las&nbsp;
&nbsp;</font><font color="#ff4500"><!--hiUVTime--></font></p>
      </small></font></strong></font></td>
    </tr>
    <tr>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);" valign="middle"><font
 face="verdana, Arial, Helvetica"><font color="#228b22"><strong><small>
      <p>Radiaci&oacute;n Solar M&aacute;xima</p>
      </small></strong></font></font></td>
      <td bordercolor="#000000"
 style="border: thin solid rgb(0, 0, 0);" align="left"><font
 face="verdana, Arial, Helvetica"><strong><font
 color="#ff4500"><small>
      <p><!--hiSolarRad--><!--solarUnit--><font
 color="#228b22">&nbsp;&nbsp;a las&nbsp;
&nbsp;</font><font color="#ff4500"><!--hiSolarRadTime--></font></p>
      </small></font></strong></font></td>
    </tr>
  </tbody>
</table>
</body>
</html>

Esto me genera esta página que funciona perfecta http://www.telefonica.net/web2/meteosantomera/Current_Vantage_Pro_Plus.htm

El problema es al intentar copiar este código en

http://www.meteosantomera.es/page11.php

no me devuelve ningún dato.



Título: Re: Actualización de datos meteorologicos
Publicado por: ~ Yoya ~ en 3 Noviembre 2010, 01:30 am
Para que funcione el Codigo es necesario tener instalado PHP-CURL... La solución mas rápido seria capturar la tabla como te habia dicho antes y si no me entiendes te sera muy complicado xD


Título: Re: Actualización de datos meteorologicos
Publicado por: meteosantomera en 3 Noviembre 2010, 09:45 am
Entiendo la ídea generica de hacer un programita que vaya a una página busque el dato y lo traiga a la mia, pero el resto que  me dices si que no tengo ni ídea.

Gracias de todas formas.