Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How search for HTML elements in StreamReader or String

I've been searching a simple web crawler, and i need search an elements inside my StreamBuilder or string. Example, i need get all content inside an div with id "bodyDiv". Which tool helper me with this?

private static string GetPage(string url)

        {

            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
            request.UserAgent = "Simple crawler";    
            WebResponse response = request.GetResponse();

            Stream stream = response.GetResponseStream();

            StreamReader reader = new StreamReader(stream);

            string htmlText = reader.ReadToEnd();
            return htmlText;

        }
like image 900
Douglas Ramalho Avatar asked Jul 08 '26 06:07

Douglas Ramalho


1 Answers

I would use HtmlAgilityPack

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(htmlText);

var div = doc.DocumentNode.SelectSingleNode("//div[@id='bodyDiv']");
if(div!=null)
{
    var yourtext = div.InnerText;
}
like image 151
L.B Avatar answered Jul 09 '26 20:07

L.B