Extraiga el contenido de la solicitud HTTP y luego obtenga el contenido seleccionado de ella

Solo con el propósito de aprender, estoy jugando con la solicitud y la respuesta de la página. Necesito saber cómo puedo lograr esto. Lo que quiero hacer es hacer una solicitud HTTP desde la aplicación de Windows y extraer algo de contenido de ella. Por ejemplo

Estoy llamando http://stackoverflow.com/questions ahora de la respuesta quiero extraer todos los nodos de preguntas que están en <div id="questions"> y formatee eso y luego muestre esto en la Tabla. ¿Puede algún cuerpo guiarme sobre cómo hacer eso? Estoy aquí que puedo hacer ese formateo y extraer cosas de la expresión regular también, pero no estoy seguro de cómo.

Gracias de antemano Lura

preguntado el 08 de enero de 11 a las 15:01

2 Respuestas

Sugiero usar el Paquete HTML Agility - le permitirá obtener la página directamente y consultarla usando XPath, similar a cómo funciona XmlDocument.

Respondido el 08 de enero de 11 a las 18:01

Puede usar HttpWebRequest para obtener el contenido fuente de la página de la siguiente manera.

string url = @"http://stackoverflow.com/users";

        System.Net.WebRequest request = System.Net.HttpWebRequest.Create(url);

        System.Net.HttpWebResponse  response = (System.Net.HttpWebResponse)request.GetResponse();
        System.IO.StreamReader stream = new System.IO.StreamReader
                (response.GetResponseStream(), System.Text.Encoding.GetEncoding("utf-8"));

         XmlDocument rssDoc = new XmlDocument();
         rssDoc.Load(stream);

Respondido el 08 de enero de 11 a las 19:01

Esto fallará si el contenido de la página no está realmente en UTF-8; una implementación robusta necesita verificar el Content-Type Encabezado HTTP o el <meta http-equiv="Content-Type"> etiqueta en el cuerpo, o autodetectar desde el propio documento. - Bradley Grainger

y fallará aún más si el html no está bien formado xml. - Pauli Østerø

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.