indicadores economicos

Jose Felipe Sanhueza Paredes jfsp24 en gmail.com
Dom Ago 20 15:19:53 CLT 2006


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 www.weather.com):

crear tabla en una base de datos
* shellscript que rescata dolar y uf desde pagina de terra.cl y los guarda
en un archivo tmp.
curl -s "http://www.terra.cl" | grep 'SANTORAL:' | sed -e :a -e 's/<[^>]*>/
/g;//N;//ba' >> /var/www/datosFinancierosChile.tmp
  El resultado entregado es algo asi:
Chile, domingo 20 de agosto de 2006 - 2:26 PM REST.: No Rige SANTORAL:
Bernardo UF: $  18.303,61   US Obs.: $  530,69

* luego generar un script php que vaya recorriendo el archivo y lo vaya
guardando en la tabla respectiva:

<?php
       class Datos{
               var ruta = '';
               var conexion;

               function Datos($ruta){ //constructor. parametro con ruta
ubicacion archivo .tmp
                      $this.ruta = $ruta;
               }
               function query($query){ // metodo q realizará acciones sobre
bdd
                      $this->conexion = mysql_connect("localhost", "user",
"pass");
                      !@mysql_select_db("baseDeDatos", $this->conexion);
                     @mysql_query($query, $this->conexion);
                     @mysql_close();
               }

               function getFile($File){//metodo q extraerá la información de
archivo tmp
                       $file = '';
                       $f = fopen("$this->ruta$File", "r");
                       while(!feof($f))
                           $file .= utf8_encode(fgets($f, 4096));
                       return $file;
               }

                function getData($info){//recibirá arreglo y recorrerá hasta
sacar la info necesaria.
                        for($i = 0; $info[$i] != "$"; $i++);
                        $i++;
                        $uf = $info[$i];
                        for(; $info[$i] != "$"; $i++);
                        $this->query("UPDATE tabla SET dolarObs =
'".$info[$i + 1]."', uf = '".$uf."' WHERE paisInfo = 'Chile'");//ACTUALIZA
LA INFO EN LA TABLA
                }

       } //fin clase
       $datos = new Datos("/var/www/"); //mandar ruta de ubicación de
archivo
       $file = $datos->getFile("datosFinancierosChile.tmp"); //mandar nombre
archivo
       $cad = explode(" ", $file); //contenido rescatado desde el archivo se
pasa a un arreglo, tomando como separación cada espacio en blanco
       $info = array();
       for($i = 0; $i < count($cad); $i++) //se dejará en el arreglo info
solo aquella info válida, es decir, sin espacios en blanco
                if($cad[$i])
                       $info[] = $cad[$i];
       $datos->getData($info);//se manda arreglo para rescatar datos y
guardarlos
?>

* 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.

* 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:
  <?php
       $sql = new sql();
       $datos = $sql->getDatos('Chile');
       echo "<xml>
                     <Chile>
                           <uf>".$datos[uf]."</uf>";ETC.-.

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..

eso.. ;-)








On 8/19/06, Jam <jamrojo en gmail.com> wrote:
>
> Jose Felipe Sanhueza Paredes
> <jfsp24 en gmail.com>
> [...]
> yo genere unos script para sacar datos como uf, dolar obs, etc...
> [...]
> enserio, creo que a más de uno seria uti,l por q no los envias ;)
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listas.inf.utfsm.cl/pipermail/php/attachments/20060820/d994abb1/attachment-0001.html


Más información sobre la lista de distribución PHP