Acceso a web externa y obtener datos

Respecto a mi pregunta descartada por ti acerca de necesito acceder desde mi aplicación a una página web como http://www.invertia.com/mercados/acciones/default.asp?idtel=IB011CONTINU, obtener la cotización de una determinada empresa, y utilizarla para diversas operaciones, bla, bla, bla, debo decirte que sigo teniendo el mismo interés o más por una respuesta porque sigo teniendo todas las dudas del mundo.
No sé que es AJAX, no sé si es posible hacerlo con PHP (no tengo ni idea tampoco de PHP, pero me suena más y parece que suena a más sencillo!, je je!), y no sé ni por dónde agarrar este asunto.

1 Respuesta

Respuesta
1
Ajax no es más que la tecnología de usar Javascript Asíncrono y el parseador XML que vienen con todos los navegadores. Te lo he sugerido para hacer tu web más dinámica, puesto que puede actualizarse sola cada cierto tiempo.
Depende mucho de los requisitos que tengas sobre como tratar la información que la página te da.
Si lo haces usando PHP (o java o ASP o cualquier otro sistema en el servidor web) debes de conectarte a la url externa, traerte la página, parsearla, extraer los datos, generar tu html y mostrarlo en tu servidor local.
Voy a hacerte un esquema de lo que hay que hacer y luego me extiendo en cada parte.
1º - El usuario solicita informacion de la bolsa (http://localhost/bolsa )
2º - Se llama al servlet "bolsa" (servlet o página PHP) el cual se conecta a una url externa. No es algo trivial, pero tampoco es demasiado complejo (cuidado si hay un proxy por medio) . Es algo como :
URL url = new Url  ("http://www.lawebdelabolsaquequieroleer.com");
String contenidoHTML = (String)url.getContent();
En php seria similar.
3º Con el contenido recuperado, se parsea... esta es la parte más compleja, porque es un HTML y por lo tanto no puedes tratarlo como un XML.
Te recomiendo que te centres en esta parte. Haz algo como:
Cotizacion co = new Cotizacion (contenidoHTML) ;
y que si haces :
Valor[] valores = co.getValores ();
Donde Valor es una clase con atributos "tiquet", diff, ultimo, ... es decir, cada columna del html.
4º una vez recuperado todo el contenido solo tienes que mostrar lo que te interesa en tu jsp .
for(.... ...)  {
<%=valor.getDiff() %>
}
Si usas ajax, en lugar de en el punto 4 generar un HTML, genera un XML y con javascript el contenido se actualiza solo.
También está la alternativa de hacerlo todo desde javascript (los 4 puntos anteriores), la dificultad está en el mismo punto 3, tratar el contenido. Centrate en eso.
Pff! Demasiados conceptos nuevos de golpe. Lo miraré tranquilamente, trataré de resolver mis dudas generales por mí mismo, y aquellas cosas para las que necesite ayuda te la pediré, que no dudes de que la necesitaré :)
Muchísimas gracias por tu resumen y un saludo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas