Alguien sabe como obtener el valor del dolar (tipo de cambio) en méxico city.
Como podría extraerlo de una página de un banco ?
es posible?
| |||
tipo de cambio (dolar) a peso mexicano Alguien sabe como obtener el valor del dolar (tipo de cambio) en méxico city. Como podría extraerlo de una página de un banco ? es posible? |
| ||||
Prueba este WebService: http://www.webservicex.net/CurrencyConvertor.asmx?WSDL |
| ||||
Pero de donde tomara la info este web service? me quede pensando en que si es algo muy preciso a lo mejor no es demasiado confiable, yo se que hay variaciones, pero entre a Bancomer y encontre este tipo de cambio: DOLAR CPA 11.05 DOLAR VTA 11.30 No se, quizas el mejor metodo seria con un robot como ya lo dijo Muzztein?
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| ||||
Bueno, la verdad es que de donde lo bajé (http://www.webservicex.net/WS/WSDeta...ATID=2&WSID=10) no indican el origen de los datos, pero si este es el caso, un banco de Costa Rica lo ofrece también, pero ahí habría que primero hacer la conversión de pesos a colones y luego a dolares (http://crux.bccr.fi.cr/tipocambio/Demo.aspx), pero ahí habría más variación creo yo. Desconozco si algún banco mexicano ofrecel el servicio. |
| ||||
El mejor sitio para obtener este tipo de info, es el banco central de tu país (en este caso el Banco de México): http://www.banxico.org.mx/sie/cuadro...ado+de+cambios O lo que es lo mismo: http://www.banxico.org.mx/sie/cuadros/CF102.asp ¿Cómo sacar esa info para colocarla en tu web?. No tengo ni idea. |
| |||
Gracias pors sus respuestas. Pues con varias horas examinando las páginas web de los bancos, me he dado cuenta que manejan usa seguridad impresionante para poder acceder al código fuente del tipo de cambio. Entre el más fácil (tarde 15 minutos) para obtener lo sig: http://finanzasenlinea.terra.com.mx/..._divisausa.asp Es un cuadro más facil de manipular y sacar el valor del dolar. el link orifinal es : http://www.scotiabankinverlat.com/fi...s/mercados.asp porque me tomo tanto tiempo... ahora bien, no pude sacr el cuadrito de tipo de cambio desde http://dsrefa01.hsbc.com.mx/ donde dice analisis...tasas,divisas.. se abre un popup. quise jalar la url de : <a href="javascript:void window.open('/aptrix/InternetPub.nsf/Content/TasasSplash','nueva','status=no,width=270,height=2 95,screenX=200,screenY=200,toolbar=no,scrollbar=no ,menubar=no,resizable=no');" por lo que puse: http://dsrefa01.hsbc.com.mx/aptrix/InternetPub.nsf/Content/TasasSplash' pero no funciona, bueno pues cono se le hace ???? Mil respetos al que pueda sacar el popup por aparte: |
| ||||
Bueno, solo por comentar, tu único error es el apóstrofe al final, ya que http://dsrefa01.hsbc.com.mx/aptrix/I...nt/TasasSplash abre la tabla en una ventana nueva. |
| |||
Mil respetos Myakire Ahora solo voy a crear un frame y pondre 2 páginas [buscador del dolar] y la otra la página hsbc. rescataré el valor del dolar. Bueno trabajeré en eso y despues lo compartiré por si a alguien hermano más se le ofrece. Nuevamente gracias por la yuada. |
| ||||
Ok, orharo2003, yo se que puedes sacarlo sin problemas. Aca dejo algo para obtener el dolar a la venta y compra con tu idea por si alguien necesita una linea para empezar.
Código:
<% Response.Buffer = True Dim objXMLHTTP, xml Set xml = Server.CreateObject("Microsoft.XMLHTTP") xml.Open "GET", "http://dsrefa01.hsbc.com.mx/aptrix/InternetPub.nsf/Content/TasasSplash", False xml.Send Cadena = CSTR(xml.responseText) PosIni1 = InStr(Cadena,"DOLAR AMERICANO") PosIni2 = InStr(PosIni1,Cadena,"$") PosFin = InStr(PosIni2, Cadena,"<") DolarCompra = MID(Cadena, PosIni2, PosFin-PosIni2) PosIni1 = PosFin PosIni2 = InStr(PosIni1,Cadena,"$") PosFin = InStr(PosIni2, Cadena,"<") DolarVenta = MID(Cadena, PosIni2, PosFin-PosIni2) Response.Write "Dolar Compra: " & DolarCompra & "<br>" Response.Write "Dolar Venta: " & DolarVenta & "<br>" Response.Write Cadena & "<br>" Set xml = Nothing %> |
| ||||
excelente, oye ahora una ultima molestia, si ya tengo los valores del tipo de cambio con el xml que pusiste como podria hacerle para tomar ese valor en una variable numerica para hacer operaciones? |
| ||||
la cosa es que si uso CDbl me marca No coinciden los tipos: 'cdbl'
__________________ CreandoWebs.com www.creandowebs.com PLANTILLAS TEMPLATEMONSTER CON 10% DE DESCUENTO |
| ||||
Aver sjam7, te pongo un ejemplo de como utilizar el valor, y dime por que crees que te marca ese error:
Código:
Session.LCID = 2058 Response.Write "100 pesos son en dolares: " & FormatNumber((100 / CDbl(MID(DolarVenta,InStr(DolarVenta,";")+1,LEN(DolarVenta)))),2) & "<br>" |
| ||||
Yo, yo, yo, yo profe, puedo, puedo, puedo??? salu2 maestrazo Ya casi es viernes
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| ||||
Supongo que porque estas tratando de realizar una operacion inicial a partir de la operacion de un parseo de cadenas, quizas necesitarias sacar el parseo primero y despues hacer el cast...sera???
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| ||||
mmmmmmm, pues la verdad es que no te endenti U_G , es que mientras contestabas me tomé las guamas Pero es fácil, resulta que si observas la salida, ya sea viéndo el código, o desplegándolo con un simple response.write "<xmp>" & xml.responseText & </xmp>", verás que el resultado esta en la forma ...$ 10.95<..., y originalmente yo busqué el signo "$" para marcar el inicio y el signo "<" para el final, entonces los caracteres no numéricos que provocaban el error son "$ " y bastó entonces con eliminarlos (una forma es cortándo apartir del ";"+1). No se si lo que dijiste U_G era lo mismo, pero congusto les invito esa guama, solo resta que te traslades desde los EU hasta AGS, |
| ||||
Si...mas o menos a eso me referia ... Y bueno, de todas maneras no es viernes, no es permitido Salu2,
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| |||
Sr. Myakire: Con esta demostración me haz dejado con la boca abierta. Desconocia esa forma, bueno habia intentado de esta forma: function bancos() set bancomer=parent.frames(1).document.body.createText Range() bancomer=bancomer.text '/* BANCOMER */ ok=false text=bancomer x=split(text,chr(13)) for t=0 to ubound(x) if(x(t)<>"")then if(instr(1,x(t),"dolar",1)<>0)then ok=true msgbox "http://www.bancomer.com " & chr(13) &"--------------------------------" & chr(13)& formatcurrency(x(t+9),2) & " a la compra." & chr(13) & formatcurrency(x(t+10),2)& " a la venta." ,vbinformation,"Tipo de cambio" exit for end if end if next if(ok=false)then alert "Imposible conectar con el sitio http://www.bancomer.com.mx" end if end function Bueno a grandes rasgos extraigo el valor tambien pero...... hice pruebas localmente y funciona excelente lo malo es de que me ,marca acceso denegado cuando la página está en linea. Digamos que lo que hice es una forma de extraer el codigo fuente (sin HTML), pero localmente. La verdad es que te agradezco enormemente y bueno GRACIAS estámos para ayudar. Saludos. |
| |||
bueno investigando más encontré otro componente similar : http://www.4guysfromrolla.com/webtech/110100-1.shtml Happy programming ... |
| ||||
Viniendo de tí orharo2003, no puedo más que decir, "¡fui!, prueba superada" . La verdad es que tu método no lo he utilizado, de hecho no conocía el funcionamiento del "createText", será bueno hacer unos ejercicios para comprenderlo , yo habñia usando antes XMLHTTP para otras cosas (usar los resultados de google, por ejemplo), por lo que supuse que era el método mas fácil para tomer el contenido de una página. Saludos e igualmente gracias. |
| |||
Myakire, molestandote de nuevo. Bueno, estoy intentando sacar desde bancomer el valor del dolar.... en el de hsbc, era más fácil porque todo esta dentro de una tabla y los valores estan en una fila: <tr> <td bgcolor="#ffffff" align="left" valign="top"><font face="Arial" size=1>DOLAR AMERICANO</font></td> <td bgcolor="#ffffff" align="center" valign="top"><font face="Arial" size=1>$ 10.92</font></td> <td bgcolor="#ffffff" align="center" valign="top"><font face="Arial" size=1>$ 11.17</font></td> No hay problema hasta ahi, el problema seria en que en la de bancomer estan dos tablas anidadas. <table border="0" width="72" cellspacing="0" cellpadding="0"> <tr> <td height="7" class="tx_ind">IPC</td> </tr> <tr> <td height="7" class="tx_ind">DOWJONES</td> </tr> <tr> <td height="7" class="tx_ind">DOLAR CPA</td> </tr> <tr> <td height="7" class="tx_ind">DOLAR VTA</td> </tr> <tr> ..... mas valores .... </table> </td> <td align="left" valign="top" width="64" class="tx_gral1" height="67"> <table border="0" width="63" cellspacing="0" cellpadding="0"> <tr> <td height="7" class="tx_ind">12,113.60</td> </tr> <tr> <td height="7" class="tx_ind">10,494.20</td> </tr> <tr> <td height="7" class="tx_ind">11.17</td> </tr> <tr> <td height="7" class="tx_ind">11.42</td> </tr> <tr> <td height="7" class="tx_ind">1.3338 dls</td> </table> </td> </tr> <tr align="left" valign="top"> ... continua ..... es más dificil. una solución fue : <body style="visibility:hidden"> <% Response.Buffer = True Dim objXMLHTTP, xml Set xml = Server.CreateObject("Microsoft.XMLHTTP") xml.Open "POST", "http://www.bancomer.com.mx/ahome/home_index_main.asp", False xml.Send cadena = CSTR(xml.responseText) cadena=replace(cadena,"script","") cadena=replace(cadena,"SCRIPT","") %> <%=cadena%> Set xml = Nothing %> Usando createTextRange() extraigo únicamente el texto sin HTML., despues lo paso a un arreglo y el resultado: <script language="vbs"> set bancomer=document.body.createTextRange() bancomer=bancomer.text text=bancomer x=split(text,chr(13)) for t=0 to ubound(x) if(x(t)<>"")then if(instr(1,x(t),"dolar",1)<>0)then msgbox formatcurrency(x(t+9),2) & " a la compra." & chr(13) & formatcurrency(x(t+10),2)& " a la venta." exit for end if end if next </script> Pruebalo, si funciona. Mi pregunta. ... podrías hacerlo más fácil ???? Te lo pregunto porque sé que puedes, bueno en un rato libre si se puede. Última edición por orharo2003; 18/02/2005 a las 11:25 |
| |||
mmm... No. la idea es evitar eso !!!! sistema=automatización. jejeje. ya habia visto esa opción, pero me interesa saber el dolar a la venta y bueno el bancomer es uno de los bancos m´´as usados qui en méxico. |
| ||||
si... pero me explico alli. tu puedes formar un formulario tu mismo con post y automáticmente obtener los datos que necesitas... bueno. yo te digo. ahora no se como se hace.
__________________ Nada es verdad, nada es mentira, todo esta en el cristal con que lo miras. :si: |
| ||||
Pues onharo, lo único que se me ocurre, es seguir la misma idea del ejemplo anterior, la de buscar un patrón único que ayude a localizar en este caso a los valores deseados. Elegí las definiciones de las tablas, quedó así:
Código:
Nota que primero extraigo solo la tabla que contiene los valores para que el SPLIT no se tarde tanto.<% Response.Buffer = True Dim objXMLHTTP, xml Set xml = Server.CreateObject("Microsoft.XMLHTTP") xml.Open "POST", "http://www.bancomer.com.mx/ahome/home_index_main.asp", False xml.Send Cadena = xml.responseText CadenaInicial = "<td align=""left"" valign=""top"" width=""64"" class=""tx_gral1"" height=""67"">" CadenaFinal = "</table>" PosIni = InStr(Cadena,CadenaInicial) PosFin = InStr(PosIni, Cadena,CadenaFinal) Cadena = MID(Cadena, PosIni, PosFin-PosIni) Vec = SPLIT(Cadena,"<td height=""7"" class=""tx_ind"">") Response.Write "Dolar Compra: " & Vec(3) & "<br>" Response.Write "Dolar Venta: " & Vec(4) & "<br>" ' Response.Write Cadena & "<br>" Set xml = Nothing %> Saludos |