Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: luison en 25 Febrero 2011, 23:04 pm



Título: Como puedo leer este iFrame?
Publicado por: luison en 25 Febrero 2011, 23:04 pm
Hola a to2!

Veran estoy tratando de sacar el tipo de cambio de una pagina, se llama:
www.baxico.org.mx. Ahi manejan un iFrame el cual es el siguiente:

Código
  1. <iframe frameborder="0" id="PTC" style="width: 582px; height: 454px;" src="http://www.banxico.org.mx/tipcamb/llenarTiposCambioAction.do?idioma=sp" scrolling="no"></iframe>
  2.  

Este iFrame muestra el tipo de cambio, y necesito copiar el valor a mi base de datos.
Alguien tiene una idea?

Tengo este script de javascript, pero no entiendo cómo podria utilizarlo para sacar el valor de la info que devuelve el iFrame.

Código
  1. <script language ="javascript" type ="text/javascript">
  2. function $(id){return document.getElementById(id);}
  3. var guardar;
  4. function buscar(p){
  5. var ifr=$('ifra').contentDocument || $('ifra').contentWindow.document;
  6. ifr.body.innerHTML=guardar;
  7. var c=ifr.body.innerHTML;
  8. var ini=c.indexOf(p);
  9. var b=c.substring(0,ini);
  10. var d=c.substr(ini+p.length);
  11. ifr.body.innerHTML=b+'<span id="'+p+'" style="background-color: #CCC; color:#F00">'+p+'</span>'+d;
  12. var offsetTrail = ifr.getElementById(p);
  13. var offsetLeft = 0;
  14. var offsetTop = 0;
  15. while (offsetTrail) {
  16. offsetLeft += offsetTrail.offsetLeft;
  17. offsetTop += offsetTrail.offsetTop;
  18. offsetTrail = offsetTrail.offsetParent;
  19. }
  20. if (navigator.userAgent.indexOf("Mac") != -1 && typeof ifr.body.leftMargin != "undefined" && navigator.appName=="Microsoft Internet Explorer" ) {
  21. offsetLeft += parseInt(ifr.body.leftMargin);
  22. offsetTop += parseInt(ifr.body.topMargin);
  23. }
  24. window.frames['ifra'].scrollTo(offsetLeft,offsetTop);
  25. }
  26.  
  27. </script>
  28.  

Alguien que me heche un cable por favor. Gracias
Estamos por aqui investigando.  :)


Título: Re: Como puedo leer este iFrame?
Publicado por: ~ Yoya ~ en 25 Febrero 2011, 23:14 pm
Para este tipo de cosas, es mejor realizar una peticion GET a la pagina y mediante expresiones regulares, tomas el dato que deseas. A esto se le llama Minería de datos (http://es.wikipedia.org/wiki/Miner%C3%ADa_de_datos).

De esa forma te ahorrarías mucha linea de código, optimizaras la web y te romperías meno la cabeza.

Saludos!


Título: Re: Como puedo leer este iFrame?
Publicado por: Feedeex en 26 Febrero 2011, 05:36 am
pepe.php
Código:
<html>
<head></head>
<body>
<?php
$info = file_get_contents("archivo.htm");
echo $info;
?>
</body>
</html>

archivo.htm
Código:
<html>
<head></head>
<body>
<iframe frameborder="0" id="PTC" style="width: 582px; height: 454px;" src="http://www.banxico.org.mx/tipcamb/llenarTiposCambioAction.do?idioma=sp" scrolling="no"></iframe>
</body>
</html>

Quizás funcione.