Vamos a empezar con el primer tip del blog. Supongo que alguna vez habreis necesitado leer el código fuente de alguna página web para poder sacar algo de ella mediante programación.
Gracias a .Net esta acción es muy facil y tienes muchas utilidades. Lo primero que necesitamos es un WebClient para abrir la página.
WebClient client = new WebClient();
A continuación creamos un stream para almacenar la página. Para rellenar el stream usamos el WebClient.
Stream data= cliente.OpenRead(url); // Donde url es la dirección de la web
Luego simplemente debemos leer todas las líneas con un stream reader y cada vez que leemos una línea hacemos lo que queramos con ella.
StreamReader reader = new StreamReader(data);
Declaramos una cadena para pasar cada línea leida y leemos líneas hasta llegar al final.
strig str = "";
str = reader.ReadLine();
while (str != null)
{
//Hacemos lo que queramos con la línea leida
str = reader.ReadLine();
}
Ya hemos leído todo el código de la página web por lo que solo nos queda cerrar el stream y ya hemos terminado. Dejarme comentarios si os parecen tips muy básicos, malos o si os gustan xD. Así sabré por donde ir para que os sea lo mas útil posible.
data.Close();
Aquí os dejo una función entera para que se vea más claro, espero que os haya servido de ayuda.
private void ReadWeb(string url)
{
WebClient client = new WebClient();
Stream data= client.OpenRead(url);
StreamReader reader = new StreamReader(data);
string str = "";
str = reader.ReadLine();
while (str != null)
{
//Hacemos lo que queramos con la línea leida
str = reader.ReadLine();
}
data.Close();
}
Suscribirse a:
Enviar comentarios (Atom)
8 comentarios:
excelente blog , muy interesante lo del webclient
se agradece!!!
Muchas gracias, justo lo que andaba necesitando!!
Me gustaría saber si hay alguna forma de aparte de leer el codigo fuente, ir a otras páginas como si fueras un explorador. Es decir, yo kiero obtener información de unas páginas web, que previamente te has tenido que loogear. Yo kiero acceder a esa página web con el logeo que yo haga desde la propia apliación...
gracias, por si a alguno le vale, para usar esto tienen que poner using system.net; arriba(soy novato y me ha costado descubrirlo)
de todos modos gracias
Exelente...,pero como le paso un parametro a la pagina, puesto que la pagina que necesito leer tiene un parametro pasado como POST
Pues como comentario extra+extra a los ya mencionados hay que agregar "using System.IO;" para tener acceso a la clase Stream.
Muy interesante el ejemplo.
Saludos!
Armando H. Tovar Aragón
Gracias! Me sirvió muchísimo tu información. Era lo que estaba necesitando hacer. Mil gracias.
Saludos
Publicar un comentario