necronomicron
Hij@'e Puta
- Registrado
- 2005/03/23
- Mensajes
- 5.592
- Sexo
ACA LES MUESTRO UN SCRIPT PHP PARA RECUPERAR LOS INDICADORES ECONOMICOS DESDE "http://www.bancoestado.cl/bancoestado/indiceseconomicos/indicadores.asp"
lo que hace es recuperar mediante operadores y manejadores de cadenas, la informacion vinculada a los datos que necesitamos, despues los pone en variables, y los envia a un archivo de texto, posteriormente es verificado cada vez que alguien lo pide y si cambia la fuente, actualiza el archivo automaticamente, solo se demora un poco mas cuando se carga la primera vez en el dia, ya que los indicadores cambian diariamente.
espero les sirva.
edito para agregar lo siguiente: se guarda la info en un archivo de texto, para no tener que realizar la busqueda y parsear el archivo cada vez, ya que este contiene gran cantidad de info y solo se necesita encontrar esos 4 valores, estos se guardan y son recuperados desde el archivo, se compara la fecha grabada con la fecha actual y si son diferentes, re100 hay se realiza la operacion de recuperacion.
Código:
<?php
function indicadores($tipo,$limite, $fin,$fuente){
$domain = strstr($fuente, $limite);
$domain = $domain;
switch ($tipo) {
case "fecha":
$domain=split('\n',$domain);
return strip_tags(str_replace("al ","",str_replace($fin,"",$domain[0])));
break;
case "uf":
$domain=strip_tags($domain);
$domain=split('\n',$domain);
return str_replace(array("\r\n", "\n", "\r", "\t","&","UF"," ","$"),"",$domain[0]);
break;
case "utm":
$domain=strip_tags($domain);
$domain=split('\n',$domain);
return str_replace(array("\r\n", "\n", "\r", "\t","&","UTM"," ","$"),"",$domain[0]);
break;
case "dolar":
$domain=strip_tags($domain);
$domain=split('\n',$domain);
return str_replace(array("\r\n", "\n", "\r", "\t","&","lar Observado"," ","$"),"",$domain[0]);
break;
case 2:
echo "i equals 2";
break;
}
}
// muestra, p.ej. La última modificación de archivo.txt fue: December 29 2002 22:16:23.
$nombre_archivo = 'indicadores.opt';
if (file_exists($nombre_archivo)) {
} else {
$txt = fopen("indicadores.opt","w+");
fclose ($txt);
}
if (date ("dmY", filemtime($nombre_archivo))== date ("dmY")) {
} else {
$fuente = file_get_contents('http://www.bancoestado.cl/bancoestado/indiceseconomicos/indicadores.asp');
$fecha=indicadores('fecha','al ', ")</fo",$fuente);
$uf=indicadores('uf','UF</a></font></td>', "z",$fuente);
$utm=indicadores('utm','UTM</a></font></td>', "z",$fuente);
$dolar=indicadores('dolar','lar Observado</a></font></td>', "z",$fuente);
$txt = fopen("indicadores.opt","w+");
fwrite($txt, $fecha.chr(13).chr(10));
fwrite($txt, $uf.chr(13).chr(10));
fwrite($txt, $utm.chr(13).chr(10));
fwrite($txt, $dolar.chr(13).chr(10));
fclose ($txt);
}
?>
<style type="text/css">
<!--
.Estilo1 {
font-family: Arial;
font-size: 12px;
}
-->
</style>
<table width="100%" height="274" border="0">
<tr><td colspan="3" rowspan="3" valign="top"><table width="169" height="135" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="10" align="left" valign="bottom"><div align="left"><img src="ai.GIF" alt="" width="10" height="10" align="top" /></div></td>
<td width="148" height="5" background="lsup.GIF"></td>
<td ><img src="ad.GIF" alt="" width="10" height="10" align="top" /></td>
</tr>
<tr>
<td height="115" background="li.GIF"></td>
<td>
<div align="left" class="Estilo1">
<?php
$ind=file("indicadores.opt");
$cou=count($fuente);
echo "Fecha : ".$ind[0];
echo "<br />";
echo "<br />UF : ".$ind[1];
echo "<br />";
echo "<br />UTM : ".$ind[2];
echo "<br />";
echo "<br />Dolar : ".$ind[3];
?>
</div>
<br/>
<div align="center" class="Estilo1">
<a href="http://www.uf.cl" target="_blank">Indicadores económicos actuales y anteriores</a></div> </td>
<td width="10" height="115"background="ld.GIF"></td>
</tr>
<tr>
<td height="10" align="left" valign="top"><div align="left"><img src="bi.GIF" alt="" width="10" height="10" align="top" /></div></td>
<td background="linf.GIF"></td>
<td ><img src="bd.GIF" alt="" width="10" height="10" align="top" /></td>
</tr>
</table>
<br>
lo que hace es recuperar mediante operadores y manejadores de cadenas, la informacion vinculada a los datos que necesitamos, despues los pone en variables, y los envia a un archivo de texto, posteriormente es verificado cada vez que alguien lo pide y si cambia la fuente, actualiza el archivo automaticamente, solo se demora un poco mas cuando se carga la primera vez en el dia, ya que los indicadores cambian diariamente.
espero les sirva.
edito para agregar lo siguiente: se guarda la info en un archivo de texto, para no tener que realizar la busqueda y parsear el archivo cada vez, ya que este contiene gran cantidad de info y solo se necesita encontrar esos 4 valores, estos se guardan y son recuperados desde el archivo, se compara la fecha grabada con la fecha actual y si son diferentes, re100 hay se realiza la operacion de recuperacion.