|
|||||||||||||
| Registrarse | FAQ/Ayuda | Posts de hoy | Tags | ||||||||||
|
| |||
| Tags: Ninguna | |||
|
|
|
LinkBack (5) | Herramientas |
|
|
#1
|
|
Gordo en rehabilitación
![]() Registrado: septiembre-2006
Ubicación: -37.459999,-72.36
Posts: 7.467
![]() |
Extraer UF con php, solucion definitiva
Bueno, muchas veces aqui mismo se ha discutido el problema, ahora propongo una solucion que creo es optima y facil de comprender, les dejo el codigo en el spoiler y luego les explico como funciona todo.
Bien, ahora en lugar de conectarme a la pagina del banco central, me conecto a la pagina del banco estado, pero porque hago eso? Simple el precio del dolar no se calcula en feriados ni en fines de semana, para esos casos se debe mostrar el valor para el ultimo dia habil, en general el que vale es el precio del dia anterior, por lo cual el valr del dolar nunca aparece en el campo que corresponde cuando extraemos los datos en el banco central. Si lo extraemos del banco estado, todas esas validaciones ya se han hecho antes de gneerar la tabla con los valores, asi que nos evitamos unas cuantas lineas de codigo. La clave de todo esto esta en el uso de strstr que busca un texto, y te entrega todo lo que encuentre desde el texto buscado en adelante, luego con el split hacemos el resto ede magia y con striptags eliminamos el codeigo html, y con el str replace terminamos de limpiar las cadenas En fin espero que estas 49 lineas de codigo les sean utiles ---- PD: hay un poco de codigo basura que pueden sacar, es que lo escribi a la rapida a partir de otro ejempolo que tenia a mano Editado por tokugawa en 29-nov-2009 a las 14:51. Razón: Post unidos |
|
|
|
|
|
#2 |
|
Zend Certified Engineer
ex-admin :)
![]() |
Re: Extraer UF con php, solucion definitiva
mmm .. que interesante... mezclando esto con cURL, JSON, un poco de caché y PHP demás se podría crear un webservice
Después del 15 de dic. tengo tiempo, en una de esas hago un webservice y asunto solucionado para todos Saludos !! |
|
|
|
|
|
#3 |
|
Gordo en rehabilitación
![]() Registrado: septiembre-2006
Ubicación: -37.459999,-72.36
Posts: 7.467
![]() |
Re: Extraer UF con php, solucion definitiva
yeaaa
Creo que google tiene una api para eso, pero como me dio paja buscar y entre leer el ma nual de la api, mejor escribi el codigo. Se piuede optimizar para que consulte solo uan vez por dia y guarde el dato en una base de datos, porque tampoco se trata de saturarles la coneccion a los del banco ---- tambien hice un plugin para wordpress, ya que en la empresa me encargaron hacer algo para un portal que levante con ese CMSasi que lo modificare un poquito y lo publicare ---- aqui dejo el enlace al plugin de wordpress por si alguien le interesa, eso si todavia no esta disponible para descarga porque falta que en wordpress.org lo aprueben Wordpress: Plugin Indicadores Economicos Editado por tokugawa en 30-nov-2009 a las 11:21. Razón: Post unidos |
|
|
|
|
|
#4 |
|
Fucking Devil
Registrado: mayo-2006
Posts: 64
![]() |
Re: Extraer UF con php, solucion definitiva
Excelente codigo wn, lo utilizare algun dia, funca perfect.
![]() |
|
|
|
|
|
#5 | |
|
Usuario
Registrado: mayo-2006
Posts: 308
![]() |
Re: Extraer UF con php, solucion definitiva
Quote:
sorry si no comprendo las ideas ![]() |
|
|
|
|
|
|
#6 |
|
Gordo en rehabilitación
![]() Registrado: septiembre-2006
Ubicación: -37.459999,-72.36
Posts: 7.467
![]() |
Re: Extraer UF con php, solucion definitiva
Lo que yo hice primero, fue solo un simple script en php para ser utilizando en cualquier aplicacion php que escribas, y como sol o es codigo php se puede meter en cualquier CMS que este escrito en ese lenguaje.
Luego hice un plugin para wordpress que contiene el mismo codigo que publique mas arriba, pero con unas modificaciones para que en wordpress apareciera como widget Un webservice esta definido por un protocolo que define como se le debe pedir informacion a un documento web(.php, asp, etc) y ademas define en que formato retornara la informacion. Cuando le pidues informacion a un webservice este retorna datos en formato XML, hay un estandar definido para como se debe devolver la informacion. La difenrencia entre le webservice y el script php es que este webservice tendra resuelta toda la logica para entregar los datos de la uf, de este modo si un dia en el banco estado cambian el archvio, lo eliminan, etc, bastara con modificar el webservice para que a todo el mundo nuevamente le aparesca en su pagina web los indicadores economicos, sin que nadie excepto el programador del webservice haga las modificaciones correspondientes. ---- Ya, el plugin para wordpress esta publicado !!! a gozar a gozar ajajajaj bajenlo desde aca WordPress › WP Indicadores Economicos WordPress Plugins Editado por tokugawa en 30-nov-2009 a las 19:17. Razón: Post unidos |
|
|
|
|
|
#7 |
|
Usuario
Registrado: mayo-2006
Posts: 308
![]() |
Re: Extraer UF con php, solucion definitiva
aah gracias tokugawa por la aclaración
|
|
|
|
|
|
#8 |
|
Pajarito Nuevo
Registrado: marzo-2010
Posts: 1
![]() |
Re: Extraer UF con php, solucion definitiva
Simple el precio del dolar no se calcula en feriados ni en fines de semana, para esos casos se debe mostrar el valor para el ultimo dia habil, en general el que vale es el precio del dia anterior, por lo cual el valr del dolar nunca aparece en el campo que corresponde cuando extraemos los datos en el banco central.
Si lo extraemos del banco estado, todas esas validaciones ya se han hecho antes de gneerar la tabla con los valores, asi que nos evitamos unas cuantas lineas de codigo. |
|
|
|
|
|
#9 | |
|
Gordo en rehabilitación
![]() Registrado: septiembre-2006
Ubicación: -37.459999,-72.36
Posts: 7.467
![]() |
Re: Extraer UF con php, solucion definitiva
Quote:
|
|
|
|
|
|
|
#10 |
|
-EVIL(v)@N-
Registrado: febrero-2010
Ubicación: Sureño
Posts: 43
![]() |
Re: Extraer UF con php, solucion definitiva
ta de lujo el codigo jajaj como a todos nos gusta copy paste y un poco de edicion...funca a la perfeccion..
aportazo jeje gracias pd: esperaremos mas codigos....jijij |
|
|
|
|
|
#11 |
|
From Conce with love
|
Re: Extraer UF con php, solucion definitiva
aportazo y muy practico
muchas gracias |
|
|
|
|
|
#12 |
|
I r srs
Registrado: julio-2007
Ubicación: Concepcion
Posts: 664
![]() |
Re: Extraer UF con php, solucion definitiva
buen dato!
yo los saco de un js Código PHP:
arrValores[55] por el valor que quieran sacar no mas |
|
|
|
|
|
#13 |
|
Pajarito Nuevo
|
Re: Extraer UF con php, solucion definitiva
Muy buen aporte, se agradece un monton
funca perfect |
|
|
|
|
|
#14 |
|
Pajarito Nuevo
Registrado: abril-2010
Posts: 1
![]() |
Re: Extraer UF con php, solucion definitiva
Estás leyendo el thread Extraer UF con php, solucion definitiva en el foro Webmasters, que dice: "Bueno, muchas veces aqui mismo se ha discutido el problema, ahora propongo una solucion que "
|
|
|
|
|
|
#15 |
|
Zend Certified Engineer
ex-admin :)
![]() |
Re: Extraer UF con php, solucion definitiva
|
|
|
|
|
|
#16 |
|
Interactive Developer
![]() |
Re: Extraer UF con php, solucion definitiva
|
|
|
|
|
|
#17 |
|
Gordo en rehabilitación
![]() Registrado: septiembre-2006
Ubicación: -37.459999,-72.36
Posts: 7.467
![]() |
Re: Extraer UF con php, solucion definitiva
|
|
|
|
|
|
#18 |
|
Interactive Developer
![]() |
Re: Extraer UF con php, solucion definitiva
|
|
|
|
|
|
#19 |
|
Gordo en rehabilitación
![]() Registrado: septiembre-2006
Ubicación: -37.459999,-72.36
Posts: 7.467
![]() |
Re: Extraer UF con php, solucion definitiva
Por si les interesa estoy haciendo una leve mejora, pues al incorporar el script a una pagina andaba muy lento, asi que al menos el plugin para wordpress que programe hace un tiempo atras lo estoy cambiando para que guarde los valores en una base de datos, y solo en el caso de no encontrar valores almacenados haga la consulta al banco central, eso acelera de forma increible la carga de las paginas.
|
|
|
|
|
|
#20 |
|
Zend Certified Engineer
ex-admin :)
![]() |
Re: Extraer UF con php, solucion definitiva
dije que tenía tiempo para después del 15 de diciembre, así que aquí está mi solución propuesta:
Código PHP:
Código PHP:
Luego de tener todos los números de la página, simplemente busco por aquellos valores que tengan una coma: aunque la UF corresponda a $22345 , el banco siempre escribirá 22345,00. El resultado será un arreglo con todos los dígitos tipo float en el orden en que aparecen en la página. Se revisa la página y se compara qué valor viene primero. Así por ejemplo, el banco central devuelve: Indicadores del da - Base de Datos Estadsticos Code:
Array
(
[0] => 21227,57 // UF
[1] => 22013,94 // IVP
[2] => 519,19 // Dolar obs.
[3] => 653,50 // Dolar acuerdo
[4] => 672,97 // Canasta preferencial
[5] => 87,900000 // Yen
)
http://www.bancoestado.cl/bancoestad...ndicadores.asp Code:
Array
(
[0] => 21.227,57 // UF
[1] => 37.231,00 // UTM
[2] => 22.013,94 // IVP
[3] => 519,19 // Dolar obs.
[4] => 532,00 // Dolar vendedor BancoEstado
[5] => 512,00 // Dolar comprador BancoEstado
)
Saludos !! (up ) |
|
|
|
|
|
| Herramientas | |
|
|
|||||