Hola en mi formulario estoy extrayendo el valor del dolar desde una pagina web, e probado con 2 paginas diferentes y si lo logre, pero en la que se me pidió sacar el valor no se deja ya que usa un Script para actualizar a cada minuto y no se encuentra directamente en la pagina les comparto mi código:
public void Satdolar()
{
WebRequest request = WebRequest.Create("https://www.eldolar.info/en/mexico/dia/hoy");
// If required by the server, set the credentials.
request.Credentials = CredentialCache.DefaultCredentials;
// Get the response.
WebResponse response = request.GetResponse();
// Display the status.
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
// Get the stream containing content returned by the server.
// The using block ensures the stream is automatically closed.
using (Stream dataStream = response.GetResponseStream())
{
// Open the stream using a StreamReader for easy access.
StreamReader reader = new StreamReader(dataStream);
// Read the content.
string responseFromServer = reader.ReadToEnd();
// Display the content.
string compra, Stncompra;
compra = responseFromServer.Substring(responseFromServer.IndexOf("pagos</span></a></td><td><div></div></td><td><div></div></td><td colspan=2 class=xTimes>") + 88);
Stncompra = compra.Substring(0, 6);
radioButton2.Text = Stncompra;
}
// Close the response.
response.Close();
}
public void XEdolar()
{
WebRequest request = WebRequest.Create("https://www.xe.com/es/");
// If required by the server, set the credentials.
request.Credentials = CredentialCache.DefaultCredentials;
// Get the response.
WebResponse response = request.GetResponse();
// Display the status.
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
// Get the stream containing content returned by the server.
// The using block ensures the stream is automatically closed.
using (Stream dataStream = response.GetResponseStream())
{
// Open the stream using a StreamReader for easy access.
StreamReader reader = new StreamReader(dataStream);
// Read the content.
string responseFromServer = reader.ReadToEnd();
// Display the content.
string compra, Stncompra;
compra = responseFromServer.Substring(responseFromServer.IndexOf("from=\"MXN\" to=\"USD\">") + 20);
Stncompra = compra;//.Substring(0, 5000);
txtDollar.Text = Stncompra;
}
// Close the response.
response.Close();
}
el Satdolar si me extrae el fragmento que ocupo de la pagina web el XEdolar me devuelve la pagina web desde el inicio porque no encuentra el index que le establecí.
Existe una manera de extraer el valor después de a verse ejecutado el script?
la pagina que ocupo el valor del dolar es esta https://www.xe.com/es/
gracias por sus respuestas buen día.
P.D. viendo el codigo en chrome con F12 (de ahi saque el index que tengo) me manda este mensaje:
{"warning":"<!-- WARNING: Automated extraction of rates is prohibited under the Terms of Use. -->\n","payload":{"isTradeable":false},"resourceStrings":{"com.xe.components.pages.home.trc.startsaving":"Empiece a ahorrar en sus transferencias","com.xe.components.pages.home.trc.quickeasysecure":"Transferencias internacionales de dinero r\u00e1pidas, f\u00e1ciles y seguras","com.xe.components.pages.home.trc.ctabutton":"M\u00e1s informaci\u00f3n acerca de XE Money Transfer","com.xe.components.pages.home.trc.title":"Conversor de divisas XE","com.xe.components.pages.home.trc.subtitle":"Tasas de transferencia","com.xe.components.pages.home.tab.midmarket.title":"Tipos de mercado en tiempo real","com.xe.components.pages.home.tab.midmarket.body":"Vea tipos de cambio precisos y fiables de <a href=\"/faq/rates_buyorsellrates.php\">mid-market</a> en tiempo real de los mercados mundiales de divisas, generados a partir de m\u00e1s de 100\u00a0fuentes internacionales.","com.xe.components.pages.home.tab.tradeable.title":"Tasas de transferencia en tiempo real","com.xe.components.pages.home.tab.tradeable.body":"Get a quote for an international money transfer from <a href=\"/xemoneytransfer/uk\">XE Money Transfer</a>"}}