如何在StreamReader或String中搜索HTML元素

Dou*_*lho 3 .net c# web-crawler

我一直在搜索一个简单的网络爬虫,我需要搜索我的StreamBuilder或字符串中的元素.例如,我需要获取id为"bodyDiv"的div中的所有内容.哪个工具帮我这个?

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;

        }
Run Code Online (Sandbox Code Playgroud)

L.B*_*L.B 5

我会使用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;
}
Run Code Online (Sandbox Code Playgroud)