se le olvidó..como referencia pongo el curl para sacar el clima de chile:<br style="font-weight: bold;"><span style="font-weight: bold;">curl -s "<a href="http://tiempo.espanol.yahoo.com/CIXX/CIXX0020/index_c.php">http://tiempo.espanol.yahoo.com/CIXX/CIXX0020/index_c.php
</a>" | grep -e 'Max' -e 'Min' -e '<big><big>' -e '<a href="http://us.i1.yimg.com/us.yimg.com/i/us/we/52">http://us.i1.yimg.com/us.yimg.com/i/us/we/52</a>' > /var/www/climaChile.tmp</span><br><br><div>
<span class="gmail_quote">On 8/20/06, <b class="gmail_sendername">Jose Felipe Sanhueza Paredes</b> <<a href="mailto:jfsp24@gmail.com">jfsp24@gmail.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>bueno..pondré lo que hice..no es la mejor idea...ahí se puede maquillar. lo importante es que alguien pudiese ponerse con un server para poder proveer esta información a distintas gentes. Lo indicadores que sacaba era la uf y el dolar desde la pagina de terra..que iban sintonía con los del banco central, al igual que el clima que lo sacaba desde la pagina de yahoo español (sacados desde
<a href="http://www.weather.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">www.weather.com</a>):<br><br>crear tabla en una base de datos<br>* shellscript que rescata dolar y uf desde pagina de
<a href="http://terra.cl" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">terra.cl</a> y los guarda en un archivo tmp.
<br><div style="margin-left: 40px;"><span style="font-weight: bold;"><span style="font-weight: bold;"></span>curl -s "<a href="http://www.terra.cl" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://www.terra.cl</a>" | grep 'SANTORAL:' | sed -e :a -e 's/<[^>]*>/ /g;//N;//ba' >> /var/www/datosFinancierosChile.tmp
<br></span></div> El resultado entregado es algo asi:<br><div style="margin-left: 40px; font-weight: bold;">Chile, domingo 20 de agosto de 2006 - 2:26 PM REST.: No Rige SANTORAL: Bernardo UF: $ 18.303,61 US Obs.: $ 530,69
<br><br></div>* luego generar un script php que vaya recorriendo el archivo y lo vaya guardando en la tabla respectiva:<br><br><?php<br> <span style="font-weight: bold;">class Datos{</span><br> var ruta = '';
<br> var conexion;<br><br> <span style="font-weight: bold;">function Datos($ruta){</span> //constructor. parametro con ruta ubicacion archivo .tmp<br> $this.ruta = $ruta;
<br>
<span style="font-weight: bold;">}</span><br> <span style="font-weight: bold;">function query($query){</span> // metodo q realizará acciones sobre bdd<br> $this->conexion = mysql_connect("localhost", "user", "pass");
<br> !@mysql_select_db("baseDeDatos", $this->conexion);<br> @mysql_query($query, $this->conexion);<br> @mysql_close();<br> <span style="font-weight: bold;">
}</span><br> <br> <span style="font-weight: bold;">function getFile($File){</span>//metodo q extraerá la información de archivo tmp<br> $file = '';<br> $f = fopen("$this->ruta$File", "r");
<br> while(!feof($f))<br> $file .= utf8_encode(fgets($f, 4096));<br> return $file;<br> <span style="font-weight: bold;">}</span><br>
<br>
<span style="font-weight: bold;">function getData($info){</span>//recibirá arreglo y recorrerá hasta sacar la info necesaria.<br> for($i = 0; $info[$i] != "$"; $i++);<br> $i++;
<br> $uf = $info[$i];<br> for(; $info[$i] != "$"; $i++);<br> $this->query("UPDATE tabla SET dolarObs = '".$info[$i + 1]."', uf = '".$uf."' WHERE paisInfo = 'Chile'");//ACTUALIZA LA INFO EN LA TABLA
<br> <span style="font-weight: bold;">}</span><br> <br> <span style="font-weight: bold;">}</span> //fin clase<br> $datos = new Datos("<span style="font-weight: bold;">/var/www/</span>
"); //mandar ruta de ubicación de archivo<br> $file = $datos->getFile("<span style="font-weight: bold;">datosFinancierosChile.tmp"</span>); //mandar nombre archivo<br> $cad = explode(" ", $file); //contenido rescatado desde el archivo se pasa a un arreglo, tomando como separación cada espacio en blanco
<br> $info = array();<br> for($i = 0; $i < count($cad); $i++) //se dejará en el arreglo info solo aquella info válida, es decir, sin espacios en blanco<br> if($cad[$i])<br> $info[] = $cad[$i];
<br> $datos->getData($info);//se manda arreglo para rescatar datos y guardarlos<br>?><br><br>* Programar crontab--> dejar el shellscript por ejemplo a las 9 de la mañana, para luego el script php 5 minutos después (relativo)..yo solía recoger los cambios de diversos países y el clima cada una hora...de todas formas es modificable, al igual que el script.
<br><br>* Rescatar valores-->esta parte no la implemente con xml cuando lo hice, pq no lo necesitaba, solo hacia consulta directa a la base de datos para mostrar indicadores...sin embargo no debería ser TAN complicado. se me ocurre hacer algo asi como:
<br> <?php<br> $sql = new sql();<br> $datos = $sql->getDatos('Chile');<br> echo "<xml><br> <Chile><br> <uf>".$datos[uf]."</uf>";ETC.-.
<br><br>Eso fue mas menos lo que hice...debe estar activado el modulo curl en el servidor..y bueno..es absolutamente modificable..de hecho quizás si lo copypastean no funke, y es pq lo saque del script q realice, en el cual , sacaba muuucha más información, pero a grosso modo esto es..seria ideal que nos coordináramos para poner este servicio para todos....para poder aportar algo sin q nos cobren....ojala alguien se ponga con un server y acceso para realizar esto..
<br><br>eso.. ;-)</div><div><span class="e" id="q_10d2d065b4b45bda_1"><br><br><br><br><br><div style="font-weight: bold;"><br></div><span style="font-weight: bold;"></span><span style="font-weight: bold;"><br style="font-weight: bold;">
</span><br><br><div><span class="gmail_quote">
On 8/19/06, <b class="gmail_sendername">Jam</b> <<a href="mailto:jamrojo@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">jamrojo@gmail.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Jose Felipe Sanhueza Paredes<br><<a href="mailto:jfsp24@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">jfsp24@gmail.com</a>><br>[...]<br>yo genere unos script para sacar datos como uf, dolar obs, etc...
<br>[...]<br>enserio, creo que a más de uno seria uti,l por q no los envias ;)
<br><br></blockquote></div><br>
</span></div></blockquote></div><br>