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