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

标签 c# .net 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;

        }

最佳答案

我会使用 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;
}

关于c# - 如何在 StreamReader 或 String 中搜索 HTML 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13645703/

相关文章:

c# - 忽略正在运行的文件

c# - 异常 : User does not have permission to perform this action

python - 无法使用 BeautifulSoup 获取数据

java - 从 JFree Spider Chart 隐藏标签

c# - 如何使用 Blazor 服务器正确操作 EditContext 中的验证消息

c# - 如何在启用 WCF silverlight 的服务中标记某些方法?

c# - 将文件附加到 Outlook

php - PHP 的 fopen 和 fwrite 的 VB.NET 版本是什么(如果存在)?

具有自定义文件保存能力的Java爬虫

c# - 什么决定一个变量是否被关闭?